2011-08-02 53 views
-2

我正在使用php和mysql,似乎無法將數據插入到數據庫中。 以下是錯誤:錯誤:您在SQL語法中有錯誤

錯誤:您的SQL語法錯誤;檢查對應於你的MySQL服務器版本使用附近的「我的街」正確的語法手冊「 A00 1PQ」,「」)」在3號線

$username = mysql_real_escape_string($_POST['username']); 
$pword  = mysql_real_escape_string($_POST['passwd']); 
$fname  = mysql_real_escape_string($_POST['firstname']); 
$lname  = mysql_real_escape_string($_POST['lastname']); 
$email  = mysql_real_escape_string($_POST['email']); 
$telephone = mysql_real_escape_string($_POST['telephone']); 
$ad1  = mysql_real_escape_string($_POST['ad1']); 
$ad2  = mysql_real_escape_string($_POST['street']); 
$ad3  = mysql_real_escape_string($_POST['town']); 
$pcode  = mysql_real_escape_string($_POST['pcode']); 


$con = mysql_connect("localhost","myuser","mypass"); 
if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 

mysql_select_db("peoplesdb", $con); 

//$description = mysql_real_escape_string($_POST[description]); 

$sql="INSERT INTO members (username, pword, fname, lname, email, telephone, ad1, ad2, ad3, pcode, status) 
VALUES 
('$username','$pword','$fname', '$lname', '$email','$telephone','$ad1','$ad2,'$ad3','$pcode')"; 

在該行3 2地址數據和郵政編碼。一切似乎都對我好,但仍然無法弄清楚可能是什麼問題。

回答

1

的MySQL輸出清楚地顯示了報價的問題,在看這條線我看到你的代碼之後$ad2

('$username','$pword','$fname', '$lname', '$email','$telephone','$ad1','$ad2,'$ad3','$pcode')"; 
+0

謝謝@HefferWolf,指出缺少的單引號字符。這解決了問題。 – Alan

4

您沒有要插入狀態的值。你有更多的列比你的價值。

+0

正確。你有11個插入intos,只有10個值。 –

+0

謝謝你的第二。 – duffymo

+0

我知道缺少的值 - 這是一個自動增量值,它是有意留空的。無論如何,我已經解決了它。查詢中有一個「缺失」。 – Alan

4

你忘了一個額外的''$ad2但在此之前,'$ad3'

0

你要設置的字段狀態,但在VALUES沒有列出。

0

請檢查插入查詢字段名失蹤'是11.but值僅爲10

"INSERT INTO members (username, pword, fname, lname, email, telephone, ad1, ad2, ad3, pcode, status) 
VALUES 
('$username','$pword','$fname', '$lname', '$email','$telephone','$ad1','$ad2,'$ad3','$pcode')"; 
相關問題