SQL匹配逗号分隔的字符串

时间:2013-01-29 10:47:51

标签: php sql mysqli

我想知道如何在PHP / MySQL中执行以下选择查询。

MySQL字段名为'types',其中包含以下值:Provincie\,Gebied\,Water\Water\,Plaats\

然后在PHP中,我收到一个格式如下的字符串:$types = 'Plaats, Provincie, Gebied, Water'

我想要做的是选择包含PHP数组中至少一个值的每一行。

关于最佳方法的任何想法?

修改 我不能在数据库中添加另一个表,尽管这是一个不错的选择。

这不会返回任何列是这样的:

$types = explode(',', $types);
    $typesSQL = '';
    foreach($types as $type){
        $type = str_replace(' ', '', $type);
        $typesSQL .= "FIND_IN_SET('$type', types) OR ";
    }
    $typesSQL = substr($typesSQL, 0, -3);
SELECT * FROM ".$wpdb->prefix."ttr_results WHERE user_id = $user_id AND area = '$area' AND content = '$content' AND ($typesSQL) ORDER BY datetime DESC

1 个答案:

答案 0 :(得分:0)

您可以查看find_in_set() MySQL function