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

Mary-Kate Olsen
Lepaskan: 2024-11-07 02:59:03
asal
583 orang telah melayarinya

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 (?, ?, ?)";
Salin selepas log masuk

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']);
}
Salin selepas log masuk

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

$stmt->execute();
Salin selepas log masuk

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();
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!