我想做一個註冊表單,但sql查詢只是不會工作..試圖添加的內容和刪除它們,添加(')標誌插入的數據,並刪除它們..沒有任何作品!我不確定我的錯誤在哪裏......有人可以幫忙嗎?MySQL查詢錯誤 - 隱藏錯誤?
PHP代碼:
$mysqli = new mysqli('localhost','root','','wisdom') or die("CONNECTION ERROR");
$query = "INSERT INTO net_users VALUES (NULL,'$fname','$mname','$lname','$dob','$uname','$pasw','$phone1','$phone2','$email',NULL,NULL,NULL,'$date');";
if($mysqli->query($query)) echo "REGISTERED";
else echo "<br><br>FAILED: ".$mysqli->error;
ERROR:
FAILED: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '123456789,987654321,[email protected],NULL,NULL,NULL,14/12/04)' at line 1
數據($ _POST):
Array (
[fname] => A //$fname
[mname] => A //$mname
[lname] => A //$lname
[dob] => 2014-07-17 //$dob
[username] => bakriawad //$uname
[password] => horray //$passw
[cpassword] => horray
[email] => [email protected] //$email
[phone1] => 123456789 //$phone1
[phone2] => 987654321 //$phone2
[botchk] =>
[tos] => on)
// $日期=日期( 「年/月/ d」 );
我確保數據匹配行數據類型...我試着改變和重寫代碼多次...沒有任何作品!它只是卡在那裏!
--------------------------------------------- ------------------------------------------ \
EDIT 服務器被凍結(或什麼..),重新啓動後它接受輸入..抱歉的麻煩..但工作6小時後,你很難直接思考...即使sql不斷變化,錯誤永遠不會改變,那是一個明確的標誌。
** WARNING **:當使用'mysqli'你應該使用參數化查詢,而['bind_param'(http://php.net/manual/en/mysqli-stmt.bind-param。 PHP)將用戶數據添加到您的查詢。 **不要**使用字符串插值來實現這一點,因爲你會產生嚴重[SQL注入漏洞(http://bobby-tables.com/)。在你解決這個問題之前,這些代碼都不會一直工作。 – tadman 2014-12-04 18:39:16
有趣的是,這也會解決他目前遇到的問題。 – 2014-12-05 04:25:59