簡體   English   中英

誰能告訴我為什么在以下php代碼中不執行查詢?

[英]Can anyone tell me why isn't the query executing in the following php code?

<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數據庫中。 我什至徹底檢查了我的數據庫是否存在任何類型沖突或任何數據類型長度問題,但仍然沒有得到。 我不知道為什么它顯示>>錯誤查詢數據庫? 提前致謝。

更改

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

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

這將為您提供來自服務器的確切的錯誤信息.. 文檔是在這里

首先,您應該在mysqli中使用准備好的語句。 這很簡單。

其次,您應該使用...or die($mysqli->error)查看錯誤消息。

有線索的人提供的正確代碼,以防查詢失敗

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM