Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Melaksanakan Penyisipan Berbilang Baris dengan Berkesan dalam MySQLi Menggunakan Pernyataan yang Disediakan?
Apabila berurusan dengan sisipan data pukal, membina satu pertanyaan dengan berbilang baris boleh menjadi lebih cekap daripada melaksanakan berbilang pertanyaan berasingan. Walau bagaimanapun, menggunakan pernyataan yang disediakan untuk sisipan berbilang baris memerlukan pendekatan yang sedikit berbeza.
Mencipta Pernyataan dengan Berbilang Baris
Untuk memasukkan berbilang baris menggunakan pernyataan yang disediakan, anda boleh memanfaatkan kaedah penggabungan rentetan:
<code class="php">$rows = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; $rowCount = count($rows); $values = "(" . implode('),(', array_fill(0, $rowCount, '?,?,?')) . ")"; $stmt = $mysqli->prepare("INSERT INTO table (col1, col2, col3) VALUES $values");</code>
Di sini, pembolehubah $values mencipta bahagian pertanyaan yang mengandungi nilai baris dalam format (?, ?, ?), (?, ?, ?), ....
Mengikat dan Melaksanakan
Setelah penyataan disediakan, nilai boleh diikat dan penyataan boleh dilaksanakan. Walau bagaimanapun, ambil perhatian bahawa bind_param menjangkakan semua parameter akan diluluskan sebagai tatasusunan tunggal, jadi berbilang baris mesti diratakan dan dibongkar menggunakan kaedah array_merge(...$rows):
<code class="php">$stmt->bind_param(str_repeat('i', $rowCount * 3), ...array_merge(...$rows)); $stmt->execute();</code>
Pendekatan ini membolehkan anda untuk melakukan pemasukan berbilang baris dalam satu perjalanan ke pangkalan data, meningkatkan kecekapan untuk operasi pemasukan data pukal.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Penyisipan Berbilang Baris dengan Berkesan dalam MySQLi Menggunakan Pernyataan yang Disediakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!