我正在使用 codeigniter 并且大多数时候对我的查询使用活动记录(它会自动转义它们),但是由于变量,这个查询似乎并不完全适合它。所以我需要弄清楚如何手动转义查询。
Codeigniter 文档建议以这种方式转义查询:
$sql = "INSERT INTO table (title) VALUES(".$this->db->escape($title).")";
我的原始查询
$sql = "SELECT * FROM (`user_language`) WHERE `user_id` = '{$id}'";
我的转义查询
$sql = "SELECT * FROM (`user_language`) WHERE `user_id` = '{$id}' VALUES(".$this->db->escape($user_language).")";
但是我无法正确使用语法。错误消息是:
- PHP 错误信息:未定义变量:user_language
- SQL 错误:语法错误...在第 1 行的 'VALUES(NULL)' 附近