选择时获取列的名称

时间:2013-09-12 21:07:41

标签: php mysql

我选择了这样的代码:

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

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

当我在此处和数据库中更改列名时,错误消失了。有什么想法吗?

3 个答案:

答案 0 :(得分:5)

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

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

get是MySQL 5.7中的保留字。列表是here。它开始在MySQL 5.6中作为保留字出现。

答案 1 :(得分:0)

其中一个可能是您数据库的保留字。如果你不能确定哪个,也不想,用反引号包装每个名字,如:

`date`

答案 2 :(得分:0)

将名字放在像

这样的反引号中
`get`

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

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

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