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

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

Barbara Streisand
リリース: 2024-12-18 09:52:13
オリジナル
388 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート