matching
に問題があります。find_in_set
です。カンマ区切りの複数の値と一致しません。以下はfind_in_setがカンマで区切られた値ではなく、単一の値にのみ一致するのはなぜですか?
私は...、この表を事前に
+-----------------------+
| skills |
+-----------------------+
| php | => matches
+-----------------------+
| php,laravel,html | => does not match--why?
+-----------------------+
| html | => matches
+-----------------------+
|php,html,laravel,nodejs| => does not match -- why?
+-----------------------+
感謝を上記のクエリを
$skills = array('php','html','laravel','nodejs');
$skills = implode(',', $skills);
$sql = "SELECT * FROM jobs_posted_by_employer WHERE FIND_IN_SET(skills, :array)";
$stmt = $db->prepare($sql);
$stmt->bindParam('array', $skills);
を試してみましたが、何です!
データを正規化します。可能であれば、テーブルにCSVを保存しないでください。このようにして 'FIND_IN_SET'を使うことはできません。 –
find_in_setはカンマ区切りの値で単一の値を検索するためのもので、カンマ区切りの値をコンマ区切りの値で検索していると思います。私は意味がありますか? – rahulsm
@rahulsm、 ''カンマ 'に' 'マッチさせたいです。はい、あなたは正しいです –