2010-07-10 71 views
-1

我有問題,我的MySQL查詢:MySQL的INSERT查詢

include '../inc/mysql_config.php'; 
$sql="INSERT INTO ordrar 
     (id, order, namn, adress, postnummer, postort, email, status) 
     VALUES 
     (NULL, '$order','$namn','$adress','$postnummer', '$postort', '$email', '$email', '$status')"; 
mysql_query($sql); 
if (!mysql_query($sql)) { die('Error: ' . mysql_error()); } 

此輸出:

Error: 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, namn, adress, postnummer, postort, email, status) VALUES ' at line 1

感謝。

解決:

include '../inc/mysql_config.php'; 
    $sql="INSERT INTO ordrar (id, substans, namn, adress, postnummer, postort, email, status) 
    VALUES 
    (NULL, '$substans','$namn','$adress','$postnummer', '$postort', '$email', '$status')"; 
    mysql_query($sql); 
    if (!mysql_query($sql)) 
     { 
     die('Error: ' . mysql_error()); 
     } 

謝謝大家!

+2

指定8列並傳遞9個值,其中'email'值爲兩次。 – Joost 2010-07-10 21:51:38

回答

5

我計數了8個列名和9個值。 '$ email'是否意味着要重複?

「ORDER」可能是關鍵字 - 來自ORDER BY SQL。也許一個快速的列名更改可以解決它。試試看看。

7

'order'是一個保留字。你需要用反引號來包裝它,但如果你重新命名這個列,你就不會頭疼了。

4

8行,9個查詢參數 - 您在INSERT語句的VALUES部分中有一個重複的$ email變量。