PHP不支持INSERT INTO方法


PHP does not work INSERT INTO method

我正试图插入eshop_db中的客户表当我运行它时,它没有任何错误,但它没有存储在mysql中。我的代码有什么问题?我真的不明白。请给出一些答案。谢谢

--registerForm.php--

<form action="register.php" method="post">
    <p>User ID: <input type="text" name="userId" size="30"/>*</p>
    <p>Password: <input type="password" name="password" size="30"/>*  </p>
    <p>Retype Password: <input type="password" name="repassword" size="30"/>*</p>
    <p>First Name: <input type="text" name="firstName" size="30"/>*</p>
    <p>Last Name: <input type="text" name="lastName" size="30"/>*</p>
    <p>Your Address (*):</p>
    <p><textarea name="address" rows="5" cols="30"></textarea></p>
    <p>Phone: <input type="text" name="phone" size="20"/>*</p>
    <p>E-mail: <input type="text" name="email" size="21"/>*</p>
    <p><input type="submit" value="Create Account"/></p>
</form>

--register.php--

<?php
require "sql_connection.php";
if(isset($_POST['submit']))
{
    if($_POST["password"]==$_POST["repassword"])
    {
        mysql_query("insert into customer (userId, password, firstName, lastName, address, phone, email) 
        values ('$_POST[userId]','$_POST[password]','$_POST[firstName]','$_POST[lastName]','$_POST[addres]]','$_POST[phone]','$_POST[email]')")
        or die(mysql_error());
    }
}
?>

--sql_connection.php--

<?php
$db_host = "localhost";
$db_username = "root";
$db_pass = "mypass";
$db_name = "eshop_db";
@mysql_connect("$db_host", "$db_username", "$db_pass", "$db_name") or die("connection is fail.");
@mysql_select_db("$db_name") or die("database does not exsist.");
echo "Successfully connected!!";
?>

打字,在此处更正此部分:

 '$_POST[addres]]' // wrong
 '$_POST[address]' // right

试试这个:

<?php
require "sql_connection.php";
if(isset($_POST['submit']) && $_POST["password"] == $_POST["repassword"]) {
  mysql_query(
'INSERT INTO `customer` (`userId`, `password`, `firstName`, `lastName`, `address`, `phone`, `email`) 
  VALUES ('.$_POST['userId'].', '.$_POST['password'].', '.$_POST['firstName'].', '.$_POST['lastName'].', '.$_POST['address'].', '.$_POST['phone'].', '.$_POST['email'].')'
  ) or die(mysql_error());
}

最后,过滤并验证传入的数据。

好吧,除了直接使用POST数组中的值这一明显不好的想法之外,还需要引用索引。因此,$_POST〔'address‘〕等。此外,如果您试图进行字符串注入,则需要用大括号转义数组值。