2010-07-10 70 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变量。