我用这个位在数据库中搜索 IP 地址。
$this->db->where("IP1='$ip' OR IP2='$ip'");
当我使用它时,它会转义 IP 地址中的句点并通过生成此值来中断查询。
SELECT * FROM (`xxxx`) WHERE `IP1='111`.`111`.`111`.`111'`
我希望它产生:
SELECT * FROM (`xxxx`) WHERE IP1='111.111.111.111' OR IP2 = '111.111.111.111'
谢谢!
最佳答案
来自documentation :
“$this->db->where()
接受可选的第三个参数。如果将其设置为 FALSE,CodeIgniter 将不会尝试使用反引号保护您的字段或表名称。 ”
$this->db->where('MATCH (field) AGAINST ("value")', NULL, FALSE);
如果你这样做,你最好确保你正在清理你的变量。
关于php - Codeigniter 在查询中转义句点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7733629/