无法在php中执行mysql查询

问题描述:

$con = mysql_connect($server, $user, $password); 
    if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 
    mysql_select_db($user, $con); 
    $ref='444'; 
    $name="x7"; 
$quant =1; 
    $price=7000; 
    $sql= "INSERT INTO order(ref_id, name, quantity, price, status) VALUES  ('$ref','$name','$quant','$price','pending')"; 
    if (!mysql_query($sql,$con)) 
    { 
    die('Error: ' . mysql_error()); 
    } 

此代码位于php区块。当我执行它我得到这个:无法在php中执行mysql查询

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(ref_id, name, quantity, price, status) VALUES ('444','x7','1','7000','pend' at line 1

所以任何想法,我哪里出错了?当我读取表的内容时,它工作正常,从而证明连接和数据库工作正常。每当我尝试填充表格时,都会遇到此问题。我在PHP和MySQL是一个新手:(请原谅我,如果代码包含矿:)非常愚蠢的错误

+0

你好,我的名字是使用MySQL的保留字和它射中了我的脚。 –

+0

我解决了它:D谢谢你们。我改变了桌子的名字,并且正常工作。再次感谢:D –

ordermysql reserved word你有`反引号包围它`这样

$sql="INSERT INTO `order`(ref_id, name, quantity, price, status)... 
+0

我试着用你说的话,结果还是一样。 –

+0

@amit观察新的错误信息并在此处发帖。 –

order是mysql中的保留字。它需要使用back ticks来逃脱。

见 - http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html

尝试:

INSERT INTO `order`(ref_id, name, quantity, price, status) VALUES  ('$ref','$name','$quant','$price','pending') 

这也可以帮助:How can I make a table in MySQL called "order"?