ホームページ >バックエンド開発 >PHPチュートリアル >ID の配列を SQL WHERE 句に渡すにはどうすればよいですか?

ID の配列を SQL WHERE 句に渡すにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-04 11:39:35743ブラウズ

How to Pass an Array of IDs to a SQL WHERE Clause?

WHERE 句を使用してクエリに配列を渡す

ギャラリー ID の配列 $gallery があり、行を選択する SQL クエリを作成したいと考えています。配列内の値に基づいてデータベース テーブルから取得します。

これを実現するには、 WHERE条件。この句を使用すると、フィールドと比較する値のリストを指定できます。クエリを変更する方法は次のとおりです。

SELECT *
FROM galleries
WHERE id IN (1, 2, 5);

配列 $galleries の /* 値を置き換えることにより... 例: (1 || 2 || 5) */ 配列の実際の値を使用すると、IN 句を動的に生成できます。

PHP でこれを行うには、いくつかの方法があります。

方法 1: implode() を使用する:

$ids = implode(',', $galleries);
$sql = "SELECT * FROM galleries WHERE id IN ($ids);";

方法 2: を使用するPDO パラメータ バインディング:

$stmt = $pdo->prepare("SELECT * FROM galleries WHERE id IN (:ids);");
$stmt->bindParam(':ids', implode(',', $galleries), PDO::PARAM_STR);
$stmt->execute();

これらの手法を使用すると、配列に格納された値に基づいてデータをフィルタリングする SQL クエリを簡単に作成できます。

以上がID の配列を SQL WHERE 句に渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。