ホームページ > データベース > mysql チュートリアル > 単一の PDO クエリで MySQL データベースに複数の行を挿入するにはどうすればよいですか?

単一の PDO クエリで MySQL データベースに複数の行を挿入するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-07 02:59:03
オリジナル
689 人が閲覧しました

How to Insert Multiple Rows into a MySQL Database with a Single PDO Query?

PDO MySQL: BindValues を使用して単一のクエリに複数の行を挿入

PHP データ オブジェクト (PDO) を使用して 1 つのクエリで MySQL データベースに複数の行を挿入するには、次のことを考慮してください。次の手順:

1.クエリを準備します:
挿入する値のプレースホルダーを使用して、カスタマイズ可能なクエリ文字列を作成します。例:

$query = "INSERT INTO $table (key1, key2, key3) VALUES (?, ?, ?)";
ログイン後にコピー

2.値をプレースホルダーにバインドする:
プリペアド ステートメントの bindingValue() メソッドを使用して、データ配列の値をクエリ内のプレースホルダーにバインドします。

$i = 1;
foreach ($data as $item) {
    $stmt->bindValue($i++, $item['key1']);
    $stmt->bindValue($i++, $item['key2']);
    $stmt->bindValue($i++, $item['key3']);
}
ログイン後にコピー

3.クエリを実行します:
最後に、準備されたステートメントを実行します。これにより、すべてのバインドされた値がデータベースに挿入されます。

$stmt->execute();
ログイン後にコピー

例:
これはこの手法をコードに実装する方法の例:

$pdo = new PDO('mysql:host=localhost;dbname=database_name', 'username', 'password');

$query = "INSERT INTO table_name (column1, column2) VALUES (?, ?), (?, ?), (?, ?)";

$data = [
    ['value1', 'value2'],
    ['value3', 'value4'],
    ['value5', 'value6'],
];

$stmt = $pdo->prepare($query);

$i = 1;
foreach ($data as $item) {
    $stmt->bindValue($i++, $item[0]);
    $stmt->bindValue($i++, $item[1]);
}

$stmt->execute();
ログイン後にコピー

このメソッドを利用すると、元のコードの制限を回避し、単一のクエリで複数の行を MySQL データベースに効率的に挿入できます。

以上が単一の PDO クエリで MySQL データベースに複数の行を挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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