ホームページ  >  記事  >  データベース  >  単一のクエリで PDO を使用して MySQL データベースに複数の行を挿入するにはどうすればよいですか?

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

Barbara Streisand
Barbara Streisandオリジナル
2024-11-07 04:15:03779ブラウズ

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

PDO MySQL: 1 つのクエリに複数の行を挿入

PDO を使用して MySQL データベースに複数の行を挿入するには、単一のクエリを慎重に構築することで実現できます。クエリ。プレースホルダーを使用してクエリを準備し、データ配列を通じて値をバインドする一般的なアプローチは、複数の挿入では機能しません。

この制限を克服するには、必要な値とプレースホルダーをすべて含む長いクエリを作成できます。 。以下に例を示します。

$query = "INSERT INTO $table (key1, key2, key3, etc) VALUES (:key1, :key2, :key3, etc), (:key1, :key2, :key3, etc), (:key1, :key2, :key3, etc)";

$dbh = new PDO(...);
$stmt = $dbh->prepare($query);

$i = 1;
$data = [[], ...]; // Assuming $data contains the rows to be inserted

foreach($data as $row) {
    foreach ($row as $key => $value) {
        $stmt->bindValue($i++, $value);
    }
}

$stmt->execute();

この例では、$data 配列に各行の値が含まれています。配列をループし、各値を特定のインデックスを持つプレースホルダーにバインドします。これにより、値が適切に順序付けされてデータベースに挿入されることが保証されます。

単一のクエリを準備し、この方法で値をバインドすることにより、PDO を使用して複数の行を MySQL テーブルに効率的に挿入できます。

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

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