$id="'10','11',12'"
当我使用上述值从 mysql 表中获取记录时,我通过控制器将变量值从视图传递到模型$id
:
$query=$this->db->query('select * from userdetails where Id IN ($ids)')
我没有得到结果,但它将查询打印为:
SELECT * FROM (`userdetails`) WHERE `Id` IN ('\'10\',\'11\',\'12\'')
如何解决这个问题呢?
$id="'10','11',12'"
当我使用上述值从 mysql 表中获取记录时,我通过控制器将变量值从视图传递到模型$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"; 它应该可以工作。
将 id 发送到数组中...
$id_array = array('10','11','12');
模型:
//implode converts your array into a string without quotes
$comma_separated = implode(",",$id_array);
$query=$this->db->query('select * from userdetails where Id IN ($comma_separated)');