谁能告诉我我的请求哪里有问题?
$sql = "INSERT INTO order (order_id,prod) VALUES ('','".$prod."')";
mysql_query($sql) or die ('Error SQL !'.$sql.'<br />'.mysql_error());
$_SESSION['orderid']=mysql_insert_id();
这是我的表格配置:
order
表的列:
'order_id'=>int(11) auto_increment
'prod'=> varchar(20) utf8_general_ci
这是错误信息:
Error SQL !INSERT INTO order (order_id,prod) VALUES ('','xxx') 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 (order_id,prod) VALUES ('','xxx')' at line 1
谢谢
最佳答案
ORDER
是一个保留关键字,恰好是您的列/表的名称。为避免语法错误,您需要使用反引号对其进行转义。例如
`ORDER`
如果您有修改表的权限,请将表名更改为非保留关键字以避免问题再次发生。
华林: Please, don't use mysql_*
functions in new code .它们不再维护 and are officially deprecated .查看red box ?了解 prepared statements相反,并使用 PDO或 MySQLi - this article将帮助您决定选择哪个。如果选择 PDO,here is a good tutorial .
关于插入时出现 PHP/Mysql 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24489313/