在mysql字段上使用数组函数

时间:2016-04-27 03:31:37

标签: php mysql stored-procedures

我在MySql上有一个奇怪的问题。我有一个名为adds的表,该表有places字段,其中存储了地方id。位置字段值等于地点ID的序列化数组(e.t.c数组(' 1',' 3',' 4'))。我也有搜索表单,我想一次搜索多个字段。 例如:我想找到带有ID的地方(' 3',' 6',' 8'等等)。 当我使用像这样的mysql查询时会抛出错误。

$val=array('3', '6', '8');
mysql_query("Select * from add where active='active' && array_intersect(unserialize(places))");

我该如何查询?可以在MySql中使用存储过程或函数吗?

1 个答案:

答案 0 :(得分:0)

您应该使用implode将其变为可用的字符串。假设您的值数组完全值得信赖(即不是来自用户提交的表单)

$val=array('3', '6', '8');
mysql_query("Select * from add where active='active' AND ID IN (" . implode(',', $val) . ")";

请注意mysql_ functions have been removed from PHP