如何在codeigniter中将数组和字符串与数据库进行比较?

时间:2016-01-25 15:50:45

标签: php mysql codeigniter

我的数据库中的搜索数据存在问题,其搜索数组和字符串的值。

表(个人资料):

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。 怎么诀窍? 感谢

1 个答案:

答案 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')