在mysql中查找数组中的值

时间:2015-03-18 10:22:08

标签: mysql sql

我想在数组中搜索数据。如何使用mysql select命令进行搜索。我把查询写成

$this->db->query("SELECT * FROM client_details WHERE dob IN ({implode(',', $data})");

$ data是一系列日期。请帮我解决这个问题..

2 个答案:

答案 0 :(得分:2)

尝试

$data =array('0'=>'2015-01-23','1'=>'2015-01-22','2'=>'2015-01-21');
$tmp = implode('","', $data);
$tmp ='"'.$tmp.'"';
$sql= 'SELECT * FROM client_details WHERE dob IN ('.$tmp.')';
echo $sql;
$this->db->query($sql);

答案 1 :(得分:0)

您可以这样做:

选项1

$tmp = implode(',', $data);
$this->db->query("SELECT * FROM client_details WHERE dob IN ($tmp)");

选项2

$this->db->query("SELECT * FROM client_details WHERE dob IN (".implode(',', $data).")");

此外,您的bracket formation还有一个错误。

它应该是dob IN ({implode(',', $data)}"); [在右括号后应该关闭大括号]。