Memasukkan Berbilang Baris dengan Satu Penyata Disediakan Tunggal dalam MySQLi
Masalah:
Masukkan berbilang baris ke dalam pangkalan data menggunakan pernyataan yang disediakan, mengelakkan keperluan untuk pertanyaan berasingan untuk setiap baris.
Penyelesaian:
Walaupun kenyataan yang disediakan biasanya mengendalikan operasi baris tunggal, ia mungkin untuk memasukkan berbilang baris menggunakan sintaks dan metodologi pertanyaan khas.
Pendekatan:
Contoh Kod:
<code class="php">$rows = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; $rowCount = count($rows); $values = "(&" . implode('),(', array_fill(0, $rowCount, '?,?,?')) . "&)"; $stmt = $conn->prepare("INSERT INTO test (col1, col2, col3) VALUES $values"); $stmt->bind_param(str_repeat('i', $rowCount * 3), ...array_merge(...$rows)); $stmt->execute();</code>
Pendekatan Alternatif:
Ia juga boleh diterima untuk menggunakan pernyataan yang disediakan dengan satu baris pemegang tempat dan laksanakannya dalam gelung untuk setiap baris, yang lebih mudah tetapi berkemungkinan kurang cekap.
Atas ialah kandungan terperinci Bagaimana untuk Menyisipkan Berbilang Baris dengan Satu Penyata Disediakan Tunggal dalam MySQLi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!