ホームページ >バックエンド開発 >PHPチュートリアル >ID の配列を SQL 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 サイトの他の関連記事を参照してください。