当我使用上面的 从 mysql 表中获取记录时,我通过 Controller 将变量值作为
值为:$id="'10','11',12'"
从 View 传递到模型>$id
$query=$this->db->query('select * from userdetails where Id IN ($ids)')
我没有得到结果,但它将查询打印为:
SELECT * FROM (`userdetails`) WHERE `Id` IN ('\'10\',\'11\',\'12\'')
如何解决这个问题?
最佳答案
好的试试这个:
$this->db->escape($id);
$query=$this->db->query("select * from userdetails where Id IN ($ids)");
在传入查询之前使用stripslashes($id);
。或者 mysql_real_escape_string()
应该也可以。
这样:
$ids = stripslashes($ids);
$query=$this->db->query("select * from userdetails where Id IN ($ids)");
或者您可以发送以逗号分隔的值,以这种方式 $ids = "11,12,13"; 它应该有效。
关于php - 在 codeigniter 中获取不正确的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13989717/