Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memasukkan Berbilang Baris ke dalam Pangkalan Data MySQL dengan Pertanyaan PDO Tunggal?

Bagaimana untuk Memasukkan Berbilang Baris ke dalam Pangkalan Data MySQL dengan Pertanyaan PDO Tunggal?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-07 02:59:03674semak imbas

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

PDO MySQL: Memasukkan Berbilang Baris dalam Satu Pertanyaan dengan BindValues

Untuk memasukkan berbilang baris ke dalam pangkalan data MySQL dalam satu pertanyaan menggunakan PHP Data Objects (PDO), pertimbangkan langkah berikut:

1. Sediakan Pertanyaan:
Buat rentetan pertanyaan yang boleh disesuaikan menggunakan ruang letak untuk nilai yang ingin anda masukkan. Contohnya:

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

2. Ikat Nilai kepada Pemegang Tempat:
Gunakan kaedah bindValue() bagi pernyataan yang disediakan untuk mengikat nilai daripada tatasusunan data anda kepada pemegang tempat dalam pertanyaan.

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

3. Jalankan Pertanyaan:
Akhir sekali, laksanakan pernyataan yang disediakan, yang akan memasukkan semua nilai terikat ke dalam pangkalan data.

$stmt->execute();

Contoh:
Berikut ialah contoh cara melaksanakan teknik ini dalam kod anda:

$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();

Dengan menggunakan kaedah ini, anda boleh memasukkan berbilang baris dengan cekap ke dalam pangkalan data MySQL dengan satu pertanyaan, mengelakkan pengehadan kod asal.

Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Berbilang Baris ke dalam Pangkalan Data MySQL dengan Pertanyaan PDO Tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn