php INSERT语句不起作用,没有收到回音或错误

时间:2012-11-09 22:35:18

标签: php

在PHP中,我试图将注册信息插入数据库。我已经解决了一堆错误,现在我在提交表单后没有在窗口中获得任何内容,也没有任何内容写入数据库。窗口显示为空白。我已经研究过答案,但没有找到任何帮助。我使用各种技术多次重写我的VALUES语句,两者都试图使用某些代码字符而不使用它们。字符包括{},[]和“”以及''。

我还没有写清楚我的数据的语句,我确实知道这是必要的,我只想让脚本先运行。

我的表单的当前代码驻留在一个文件中,我当前的PHP代码驻留在第一个文件引用的另一个文件中。这是我目前的PHP代码:

<?php

if (isset($_POST['submit']))
{

$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$user_name = $_POST['user_name'];
$band_name = $_POST['band_name'];
$label_name = $_POST['label_name'];
$city = $_POST['city'];
$state = $_POST['state'];
$zip_code = $_POST['zip_code'];
$email = $_POST['email'];
$confirm_email == ['email'];
$password = $_POST['password'];
$confirm_password == ['$password'];

$dbc = mysqli_connect('localhost', 'root', 'fishstench', 'Site Database.mwb.bak')
or die('Error connecting to MySQL server.');

$query = "INSERT INTO Users (User_ID, First_Name, Last_Name, User_Name, (SHA)Password, Email, Join_Date " . 
"VALUES ('{$_POST[First_Name]}','{$_POST[Last_Name]}','{$_POST[User_Name]}','{$_POST[Password]},','{$_POST[Email]}','{$_POST[date]}')";

$query = "INSERT INTO Location (City, State, Zip_Code " .
"VALUES '{$_POST[City]}','{$_POST[State]}','{$_POST[Zip_Code]}')";

$query = "INSERT INTO Band_Name (Band_Name, Label_Name " .
"VALUES '{$_POST[Band_Name]}','{$_POST[Zip_Code]}')";

$result = mysqli_query($dbc, $query)
or die('Error querying database.');

mysqli_close($dbc);

echo 'Thanks for signing up!<br />';

} ?>

2 个答案:

答案 0 :(得分:1)

首先,只有最后一个查询被执行,因为你要覆盖上面的2(我认为这不是你想要的?)。

如果设置了$_POST,请检查您的submit(key)数组,以便在检查前使用var_dumpprint_r来通过检查。

   if (isset($_POST['submit'])) {
   ....
   }

这些行需要有赋值运算符=,而不是比较运算符==

 $confirm_email == ['email'];
 $confirm_password == ['$password'];

答案 1 :(得分:0)

您在第一个查询中忘记了右括号。我认为应该是:

$query = "INSERT INTO Users (User_ID, First_Name, Last_Name, User_Name, (SHA)Password, Email, Join_Date) " . 
"VALUES ('{$_POST[First_Name]}','{$_POST[Last_Name]}','{$_POST[User_Name]}','{$_POST[Password]},','{$_POST[Email]}','{$_POST[date]}')";

此外,您的其他查询中的括号似乎不正确我认为它们应该是:

$query = "INSERT INTO Location (City, State, Zip_Code) " .
"VALUES ('{$_POST[City]}','{$_POST[State]}','{$_POST[Zip_Code]}')";

$query = "INSERT INTO Band_Name (Band_Name, Label_Name) " .
"VALUES ('{$_POST[Band_Name]}','{$_POST[Zip_Code]}')";

将来,要检测错误,请检查结果以查看是否存在错误:

$result = mysqli_query($query, $connection);
if (!$result) {
    exit("mysqli_query() error: ", mysqli_error($connection), "\nquery was: $query\n");
}