好吧,这可能看起来非常基本,但我厌倦了看到每个人的查询方式略有不同,我正在寻找普遍接受的最佳实践。
我在PHP documentation中看到他们的查询示例没有表名的反引号:
mysqli_query($link, "SELECT Name FROM City LIMIT 10")
但是,我看到许多人使用反引号作为表名,例如:
mysqli_query($link, "SELECT `Name` FROM `City` LIMIT 10")
那么,这是什么?我更倾向于不使用它们,因为不仅上面链接的PHP文档页面不使用它们,我还在this page上找到它说:"与其他语言不同,反引号没有特殊含义在双引号字符串中。"
那么,每个MySQLi查询都将包含在双引号中,对吧?那么,使用它们没有意义吗?
答案 0 :(得分:3)
为了PHP解释器,反引号并不存在,他们就是那里的MySQL解析器。反引号允许您引用具有空格(或通常会导致语法错误的其他字符 - 例如RssItem
)的表/字段。例如,如果您有一个名为-
的字段,则在查询中引用它时必须使用反引号。
从我所看到的,普遍接受的惯例是简单地避免在字段名称中使用空格。由于反引号不再用于目的,因此通常省略它们(YMMV取决于雇主)。