任何人都可以告诉我为什么不在下面的PHP代码执行查询?

时间:2012-05-03 14:55:28

标签: php mysql

<html>
  <head>
    <title>
      Welcome
    </title>
  </head>
  <body>
    <?php
$fn=$_POST['f_name'];
$ln=$_POST['l_name'];
$gen=$_POST['sex'];
$dob=$_POST['dob'];
$em=$_POST['email'];
$un=$_POST['u_name'];
$pd=$_POST['pswd'];
$mb=$_POST['mob'];
$con=mysqli_connect('localhost','username','password','db')
   or die("Error connecting to database");
$query="INSERT INTO user_details(First_Name, Last_Name, Gender, DOB, Email_Address,
Username, Password, Mobile_No) VALUES                   
('$fn','$ln','$gen','$dob','$em','$un',SHA('$pd'),'$mb')";
echo $gen;
$result=mysqli_query($con,$query) 
  or die("Error querying the database");

mysqli_close($con);
$name=$fn.' '.$ln;
echo "<b>Welcome $name</b>";
    ?>
  </body>
</html>

我在这段代码中尝试做的是从HTML表单中获取数据并将其存储到MYSQL数据库中。我甚至彻底检查了我的数据库是否有任何类型冲突或任何数据类型长度问题,但我仍然没有得到它。 我不知道它为什么显示&gt;&gt;查询数据库时出错? 提前谢谢。

3 个答案:

答案 0 :(得分:3)

更改

$result=mysqli_query($con,$query) 
  or die("Error querying the database");

$result=mysqli_query($con,$query) 
  or die($mysqli->error);

这将为您提供来自服务器的确切错误消息.. docs are here

答案 1 :(得分:1)

首先,您应该使用mysqli的预准备语句。这很简单。

其次,您应该使用...or die($mysqli->error)来查看错误消息。

答案 2 :(得分:0)

来自某人的正确代码,以便在查询失败的情况下获取错误消息

$result = mysqli_query($con,$query) 
  or trigger_error(mysqli_error($con)." ".$query);