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