我试图使用PHP的“INSERT INTO”功能,但由于某些未知原因,它无法正常工作。PHP“INSERT INTO”无法正常工作
这里是代码的主要部分 -
$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')";
有什么不对呢?
请帮帮忙!
谢谢,
我试图使用PHP的“INSERT INTO”功能,但由于某些未知原因,它无法正常工作。PHP“INSERT INTO”无法正常工作
这里是代码的主要部分 -
$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')";
有什么不对呢?
请帮帮忙!
谢谢,
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')";
问题是你不能命名一个表像为了。这是一个保留的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')";
试着把'围绕你的列名! – Rizier123 2014-11-24 11:53:24
'order'是一个MySQL和SQL保留字。这是一个非常糟糕的名字。如果您必须使用它,请用反引号将其包围。我认为这是一个印刷错误,并投票结束这些问题。 – 2014-11-24 11:53:39