我的数据库中的搜索数据存在问题,其搜索数组和字符串的值。
表(个人资料):
ID Name status
1 Joe. Free
2 Bill. Not free
代码:
$id = array('1', '2');
$query = $this->db->query("SELECT * FROM profile WHERE id = array and status='free' ");
我想要检查数组的元素和字符串(状态)1by1,如果得到一个不适合的话,那么它将返回false。 怎么诀窍? 感谢
答案 0 :(得分:0)
您无法使用=运算符检查多个值,您需要使用IN operator:
SELECT name FROM profile WHERE id IN (1,3)
您可以使用php的implode()函数创建一个以逗号分隔的数组值列表。
在codeigniter中,您可以使用where_in()方法:
$这 - > DB-> where_in();
生成与AND连接的
WHERE field IN ('item', 'item')
SQL查询 如果合适的话
$names = array('Frank', 'Todd', 'James'); $this->db->where_in('username', $names); // Produces: WHERE username IN ('Frank', 'Todd', 'James')