首先,我知道 Active Record 通过它自动转义所有查询,并且有一种手动转义 SQL 的方法。
$this->db->escape()
问题是我有时使用原始 sql 查询
$sql = "...."
$this->db->query($sql);
但我不想每次都手动调用 CI 转义函数。
有没有办法让 CI 自动转义传递给它的所有查询?可以设置的配置可能吗?
首先,我知道 Active Record 通过它自动转义所有查询,并且有一种手动转义 SQL 的方法。
$this->db->escape()
问题是我有时使用原始 sql 查询
$sql = "...."
$this->db->query($sql);
但我不想每次都手动调用 CI 转义函数。
有没有办法让 CI 自动转义传递给它的所有查询?可以设置的配置可能吗?
参考这里http://codeigniter.com/user_guide/database/queries.html
您可以考虑使用网址底部的查询绑定。尝试练习绑定查询,这是一种更快、更清洁的方式。
绑定查询示例:
$sql = "SELECT * FROM some_table WHERE id = ? AND price = ?";
$this->db->query($sql, array(3, 100));
注意** 使用绑定方法总是会自动转义。