“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?
感谢。
答案 0 :(得分:1)
反引用只是说“这不是SQL保留关键字”。理论上它们也允许在表名中使用空格和特殊字符,尽管为什么你想要这样做是超出良好实践的理智。
通常建议使用它们,以避免使用“名称”,“限制”或“计数”等列名称存在歧义。
答案 1 :(得分:1)
这不是Codeigniter的事情,而是SQL的事情。
如果您使用有效记录,则无论如何都不会在CI中使用它们。该框架将处理转义和内容,因此您不必考虑这些事情 - 这就是您在查询中使用反引号的原因之一。