无法在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是一个新手:(请原谅我,如果代码包含矿:)非常愚蠢的错误
order
是mysql reserved word你有`反引号包围它`这样
$sql="INSERT INTO `order`(ref_id, name, quantity, price, status)...
我试着用你说的话,结果还是一样。 –
@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')
你好,我的名字是使用MySQL的保留字和它射中了我的脚。 –
我解决了它:D谢谢你们。我改变了桌子的名字,并且正常工作。再次感谢:D –