0

我是一个学习 php 的新手,这对我来说是一个奇怪的问题。

我创建了一个名为 order 的表,它只有 1 列:一个 int(1)(主键,自动增量)(它之前有更多列,我已经改变了结构,但这会是一个问题吗?)

当我尝试使用以下方法插入数据时:

$db=mysql_connect('localhost','root','');
mysql_select_db('workroom',$db);
$sql = "insert into abc values (null)";
mysql_query($sql,$db);

db什么也没发生。

但是当我将表名“order”更改为“abc”(或任何其他名称,并更新 $sql)时,插入函数起作用。

有人可以帮我吗?非常感谢。

再次感谢,

肖恩

4

3 回答 3

2

我对 PHP 还是很陌生,但我相信 order 是 MySQL 的命令。因此,要克服此错误,您需要在 TableName 周围包含 `` 或更改表名。

这可能对你有用。

$sql = "INSERT INTO `TableName` (value1, value2, value3) VALUES ('value1', 'value2', 'value3')";

仅供参考, `` 键在键盘上的“tab”键上方。

于 2012-07-15T14:59:41.163 回答
1

您必须在要使用的表上使用反引号,而不是简单地使用“订单”,以便 MySQL 将其识别为表而不是保留字:

$sql = "INSERT INTO `order` VALUES...";
于 2012-07-15T15:02:56.387 回答
0

不要使用表名 order,因为它是保留字。如果要使用 order,则只需添加引号 ``

$sql = "INSERT INTO `order` values(Your data);
于 2012-07-15T15:05:50.707 回答