使用MYSQL在内部搜索数据

时间:2011-04-11 18:58:01

标签: php mysql wordpress

我想搜索序列化数组,数据看起来像:

a:7:{i:0;s:2:"34";i:1;s:1:"0";i:2;s:2:"42";i:3;s:2:"33";i:4;s:2:"48";i:5;s:2:"62";i:6;s:2:"47";}

我试过了:

$id_serialize = '"'.$id.'"';
$req = requette("SELECT id FROM table WHERE col LIKE '%$id_serialize%'"); 

但它不起作用,任何解决方案? 感谢。

3 个答案:

答案 0 :(得分:4)

您的查询格式有点错误。如果您尝试将$id_serialize传递给查询,则需要将其格式化为:

$id_serialize = $id;
$req = requette("SELECT id FROM table WHERE col LIKE '%" . $id_serialize . "%'");

答案 1 :(得分:2)

foreach  ($array as $item) $keys[]=md5(serialize($item));

$sql="insert into table set col='".serialize($array)."', `keys`='".implode(' ',$keys)."'";

...

$item=5;
$key=md5(serialize($item))
$sql="select id from table where MATCH (`keys`) AGAINST ('$key' IN BOOLEAN MODE)";

...

字段keys具有FULLTEXT索引

答案 2 :(得分:0)

您正在构建$id_serialize,但在查询字符串中使用$serialize。因此您最有可能搜索... LIKE '%%'