Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Melaksanakan Penyisipan Berbilang Baris dengan Berkesan dalam MySQLi Menggunakan Pernyataan yang Disediakan?

Bagaimana untuk Melaksanakan Penyisipan Berbilang Baris dengan Berkesan dalam MySQLi Menggunakan Pernyataan yang Disediakan?

Susan Sarandon
Susan Sarandonasal
2024-10-20 16:35:29533semak imbas

How to Perform Multiple Row Insertion Effectively in MySQLi Using Prepared Statements?

Sisipan Berbilang Baris dalam MySQLi Menggunakan Penyata 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!

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