1

我有这样的选择代码:

mysql_query('
  SELECT id, date, ip, page, get, referer 
  FROM iplog ORDER BY id DESC
');

我的问题是,名为 get 的列名称导致错误。

当我在这里和数据库中更改列名时,错误就消失了。有任何想法吗?

4

3 回答 3

5

对保留字(或带有空格等字符的名称)使用反引号:

SELECT id, date, ip, page, `get`, referer FROM iplog ORDER BY id DESC

get是 MySQL 5.7 中的保留字。清单在这里。它开始在 MySQL 5.6 中作为保留字出现。

于 2013-09-12T21:08:22.207 回答
0

其中之一可能是您的数据库的保留字。如果您无法确定哪个也不想将每个名称包装在反引号中,例如:

`date`
于 2013-09-12T21:11:50.880 回答
0

把名字放在反引号中,比如

`get`

然后您的查询将如下所示:

mysql_query('
  SELECT id, date, ip, page, `get`, referer 
  FROM iplog ORDER BY id DESC
');

因为get是mysql中的关键字/保留词

于 2013-09-12T21:14:39.000 回答