テーブルのいくつかのエントリ(id)を含むリストがあるとしましょう。リストとまったく同じIDを持つテーブル行を取得したい。SQLステートメントを使用してphpでこれをどのように定式化できますか。
すなわち
idList = [23,43,65,234,54];
SELECT *
FROM TABLE
WHERE id = 23
AND id = 43
AND id = 65
AND id = 234
AND id = 54;
申し訳ありませんが、AND は間違いでした。
各 ID をチェックする代わりに、IN
演算子を使用して一連の値を検索できます。
SELECT * FROM kittens WHERE id IN (23,43,65,234,54)
$list='23,43,65,234,54';
$SQL='SELECT * FROM TABLE WHERE id in ('.$list.')';
id
一度に複数の値を持つことはできないため、検索では行が返されません。
id
どちらかの値に一致する行を返したいと思っていると思います。
1) AND の代わりに OR 演算子を使用する
2) または、IN 演算子を使用することをお勧めします