我是一个学习php的新手,这对我来说是一个奇怪的问题。
我创建了一个名为order的表,它只有1列:一个int(1)(主键,自动增量)(它之前有更多列,我已经改变了结构,但这会有问题吗?)< / p>
当我尝试使用以下方法插入数据时:
$db=mysql_connect('localhost','root','');
mysql_select_db('workroom',$db);
$sql = "insert into abc values (null)";
mysql_query($sql,$db);
db没有发生任何事情。
但是,当我将表名“order”更改为“abc”(或任何其他名称,并更新$ sql)时,insert函数可以正常工作。
有人能帮帮我吗?非常感谢。
再次感谢,
肖恩
答案 0 :(得分:2)
我仍然是PHP的新手,但我相信订单是MySQL的命令。因此,要解决此错误,您需要在TableName周围添加“`或更改表名。
这可能适合你。
$sql = "INSERT INTO `TableName` (value1, value2, value3) VALUES ('value1', 'value2', 'value3')";
仅供参考,“键位于键盘上方”键盘上方。
答案 1 :(得分:1)
您必须在要使用的表上使用反向标记,而不是简单地使用“order”,因此MySQL将其识别为表而不是保留字:
$sql = "INSERT INTO `order` VALUES...";
答案 2 :(得分:0)
不要使用表名顺序,因为它是保留字。如果你想使用顺序那么你可以简单地添加引号``
$sql = "INSERT INTO `order` values(Your data);