2010-05-26 173 views
0

我得到這個錯誤:INSERT INTO錯誤的MySQL/PHP

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 'order (total, addy, cc) VALUES ('798' , '123 sadf' , '12124123')' at line 1

$total = addslashes(($_SESSION['total'])); 

$addy = addslashes(($_POST['addy'])); 

$cc = addslashes(($_POST['cc'])); 

echo "$total"; 

echo "$addy"; 

echo "$cc"; 

mysql_query("INSERT INTO order (total, addy, cc) VALUES ('$total' , '$addy' , '$cc')") or die(mysql_error()); 

我怎樣才能解決這個問題呢?

+0

不要使用任何關鍵字或備用名稱字段或表名。重命名訂單。 – Karthik 2010-05-26 05:16:01

回答

7

在SQL中order是保留字。而是使用:

INSERT INTO `order` 
3

這是爲什麼失敗的原因是因爲「訂單」是SQL中關鍵字

您需要將反引號放在表名的周圍以避免類似問題。

2

嘗試把各地爲了

`order` 
-3

蜱你忘了「$連接」

mysql_query("INSERT INTO order (total, addy, cc) VALUES ('$total' , '$addy' , '$cc')",$connection) or die(mysql_error()); 
+0

「$連接」是導致這個問題的東西... – Vimard 2010-05-26 05:21:37

+0

對不起朋友,你不知道 – 2010-05-26 10:07:56

+0

Col. Shrapnel是正確的。他得到一個MySQL錯誤的事實表明連接已經建立。如果沒有指定mysql_query()函數,默認情況下會使用已建立的連接。連接不是問題。閱讀說明書 - > http://us2.php.net/manual/en/function.mysql-query.php – Joseph 2010-05-26 15:35:32