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!