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

プレースホルダー SQL クエリを使用して配列を WHERE 句に渡すにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-18 09:52:13389ブラウズ

How Can I Use Placeholder SQL Queries to Pass Arrays to WHERE Clauses?

プレースホルダー SQL クエリを使用して配列を WHERE 句に渡す

SQL クエリで配列を扱うとき、特に WHERE 句を使用するときは、次のようになります。配列の値をクエリ文字列に組み込む方法を見つける必要があります。提供された ID の配列 ($gallery) には、WHERE 句でこれらの値を効率的に使用するクエリが必要です。

解決策の 1 つは、プレースホルダー SQL クエリの使用です。次の手順に従います:

1.プレースホルダー文字列を定義します:

$placeholder = join(',', array_fill(0, count($galleries), '?'));

これにより、配列値のプレースホルダーを表す、カンマで区切られた疑問符を含む文字列が作成されます。この例では、プレースホルダー文字列は "?,,?".

2 になります。クエリ文字列を準備します:

$query = "SELECT * FROM galleries WHERE id IN ({$placeholder})";

クエリ文字列は IN 演算子とプレースホルダー文字列を使用して、配列値を WHERE 句に組み込みます。

3.配列値をバインドします:

準備されたステートメントを使用して、配列の値をプレースホルダーにバインドします:

$stmt = $conn->prepare($query);
$stmt->bind_param(str_repeat('i', count($galleries)), ...$galleries);

これにより、配列要素が準備されたステートメント内のプレースホルダーにバインドされます。

4.クエリを実行します:

$stmt->execute();

WHERE 句の配列値を効果的に使用して、準備されたステートメントが実行されます。

以上がプレースホルダー SQL クエリを使用して配列を WHERE 句に渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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