我正在尝试使用" INSERT INTO" PHP的功能,但由于某些未知原因,它无法正常工作。
以下是代码的主要部分 -
$sql = "INSERT INTO order (t_from, t_to, t_date, t_time, t_payment, t_sn, t_u_email)
VALUES ('a', 'b', 'c', 'd', 'e', 'f', 'g')";
这有什么问题?
请帮忙!
谢谢,
答案 0 :(得分:5)
order
是MySQL保留的关键字。
http://dev.mysql.com/doc/mysqld-version-reference/en/mysqld-version-reference-reservedwords-5-0.html
将order
更改为其他内容,
或在order
周围加上反复。
$sql = "INSERT INTO `order` (t_from, t_to, t_date, t_time, t_payment, t_sn, t_u_email)
VALUES ('a', 'b', 'c', 'd', 'e', 'f', 'g')";
另一个解决方案是在表名前使用数据库名称。
$sql = "INSERT INTO DB_NAME.order (t_from, t_to, t_date, t_time, t_payment, t_sn, t_u_email)
VALUES ('a', 'b', 'c', 'd', 'e', 'f', 'g')";
答案 1 :(得分:0)
问题是您无法为 order 这样的表命名。这是一个保留的MySQL关键字。
在您的情况下,您应该将表重命名为订单。这是很多黄油,因为你的桌子上有一个以上的订单,你已经解决了问题。
$sql = "INSERT INTO orders (t_from, t_to, t_date, t_time, t_payment, t_sn, t_u_email)
VALUES ('a', 'b', 'c', 'd', 'e', 'f', 'g')";