各行について、このような数字を含む列があります。1,4,6,3,16,13
その番号を少なくとも含む行を検索するにはどうすればよいですか? 1
は11
、または6
から16
などの間違いであることに注意してください。少なくとも検索クエリが含まれている行を選択してください
SELECT FROM table WHERE category LIKE %$query$%
テーブルの構造:
id | title | category | description | rating
各行について、このような数字を含む列があります。1,4,6,3,16,13
その番号を少なくとも含む行を検索するにはどうすればよいですか? 1
は11
、または6
から16
などの間違いであることに注意してください。少なくとも検索クエリが含まれている行を選択してください
SELECT FROM table WHERE category LIKE %$query$%
テーブルの構造:
id | title | category | description | rating
SELECT * FROM table WHERE FIND_IN_SET(1, category) != 0
をあなたが探している番号。
素晴らしいソリューション、ちょうど 'FIND_IN_SET'について知っていた+1 –
@MichaelRushton、ありがとうございました! – Michelle
がnormalizingスキーマを考慮し、別のテーブルの上にCATEGORY_IDを置きます。
直接してみてください、あなたの質問に答えるために:
WHERE category LIKE "$query,%" OR category LIKE "%,$query,%";
をSQL Injectionから自分を守るために確認してください$クエリが実行して数値のみが含まれている、ことを使用している場合:1
は何である$query = preg_replace('/[^0-9]/i', '', $query);
テーブルの構造を投稿してください。 –
要請により投稿してください。 – Michelle