CodeIgniter:CI查询中反引号的含义

时间:2013-07-10 12:48:25

标签: sql syntax

“CodeIgniter 1.7 Professional Development”一书有以下内容 第3章“使用回调”部分中的示例。

$query = $this->db->
query("SELECT * FROM `user_data` WHERE `email` = '$email'");

围绕着反引号的含义是什么? 此示例中的表名称或字段名称?反引号有什么作用?

感谢。

此外,本书中的另一个例子如下:

$query = $this->db->query('SELECT * FROM 'users'');

前向引号与此上下文中的反引号相同吗?

这些构造是否符合标准SQL?

感谢。

2 个答案:

答案 0 :(得分:1)

反引用只是说“这不是SQL保留关键字”。理论上它们也允许在表名中使用空格和特殊字符,尽管为什么你想要这样做是超出良好实践的理智。

通常建议使用它们,以避免使用“名称”,“限制”或“计数”等列名称存在歧义。

答案 1 :(得分:1)

这不是Codeigniter的事情,而是SQL的事情。

如果您使用有效记录,则无论如何都不会在CI中使用它们。该框架将处理转义和内容,因此您不必考虑这些事情 - 这就是您在查询中使用反引号的原因之一。