插入查询无效。并且无法找到错误

时间:2017-02-13 18:19:08

标签: php mysql

我对查询有疑问。我不知道为什么它不起作用, 它始终显示,存在错误,并且不会将数据插入表中,尽管它是从表单中收集数据。 没有错误或警告通知,但它从if条件中选择else选项,并且不会将数据插入表中,不知道原因。

<?php

 $con=mysqli_connect('localhost','root','','flentox');
 if(mysqli_connect_error($con))
 {
 echo   "there is an error in connection";
 }

$fname=$_POST['fname'];

$lname=$_POST['lname'];
$email=$_POST['email'];
$phone=$_POST['phone'];
$area=$_POST['select'];
$address=$_POST['address'];
$eaddress=$_POST['eaddress'];



$query= mysqli_query($con, "INSERT INTO order(Fname,Lname,Email,Phone,Area,Address,Eaddress) VALUES(`$fname`,`$lname`,`$email`,`$phone`,`$area`,`$address`,`$eaddress`)");

   if ($query) {
    echo "order confirm";

}
else  {
echo    "There is an error";
}

?>

1 个答案:

答案 0 :(得分:0)

您的查询不正确,您不需要在VALUES中使用(``)。不要忘记检查您的值是否为空。 因此,如果没有来自$_POST的数据,您的查询也将崩溃。 也不要忘记SQL注入。建议不要在查询中立即插入$ _POST或$ _GET数据。使用Prepared Statements

试试这个。

$fname = (empty($_POST['fname']) ? 'default value' : $_POST['fname']);
.......... (for other params too).


"INSERT INTO order (`Fname`,`Lname`,`Email`,`Phone`,`Area`,`Address`,`Eaddress`) 
    VALUES('".$fname."','".$lname."','".$email."','".$phone."','".$area."','".$address."','".$eaddress."')";

同样为了显示您的错误,请在php文件的最顶层运行此代码 -

error_reporting(1);