PHP格式的MySQLi查询 - 使用反引号?

时间:2015-08-13 22:04:24

标签: php mysql mysqli

好吧,这可能看起来非常基本,但我厌倦了看到每个人的查询方式略有不同,我正在寻找普遍接受的最佳实践。

我在PHP documentation中看到他们的查询示例没有表名的反引号:

mysqli_query($link, "SELECT Name FROM City LIMIT 10")

但是,我看到许多人使用反引号作为表名,例如:

mysqli_query($link, "SELECT `Name` FROM `City` LIMIT 10")

那么,这是什么?我更倾向于不使用它们,因为不仅上面链接的PHP文档页面不使用它们,我还在this page上找到它说:"与其他语言不同,反引号没有特殊含义在双引号字符串中。"

那么,每个MySQLi查询都将包含在双引号中,对吧?那么,使用它们没有意义吗?

1 个答案:

答案 0 :(得分:3)

为了PHP解释器,反引号并不存在,他们就是那里的MySQL解析器。反引号允许您引用具有空格(或通常会导致语法错误的其他字符 - 例如RssItem)的表/字段。例如,如果您有一个名为-的字段,则在查询中引用它时必须使用反引号。

从我所看到的,普遍接受的惯例是简单地避免在字段名称中使用空格。由于反引号不再用于目的,因此通常省略它们(YMMV取决于雇主)。