Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Memasukkan Banyak Baris dengan Cekap dan Selamat ke dalam MySQLi Menggunakan PHP?

Bagaimanakah Saya Boleh Memasukkan Banyak Baris dengan Cekap dan Selamat ke dalam MySQLi Menggunakan PHP?

Linda Hamilton
Linda Hamiltonasal
2024-12-13 18:08:11732semak imbas

How Can I Efficiently and Securely Insert Many Rows into MySQLi Using PHP?

Pemasukan Berbilang Baris yang Cekap dan Selamat dalam MySQLi

Dalam pembangunan PHP, memasukkan banyak baris ke dalam pangkalan data MySQL dengan cekap dan selamat boleh menjadi cabaran. Untuk menangani perkara ini, adalah penting untuk menggunakan teknik yang menghalang suntikan SQL sambil mengekalkan prestasi.

Satu pendekatan biasa ialah menggunakan pernyataan yang disediakan dengan pengikatan parameter. Walau bagaimanapun, dalam kes di mana sejumlah besar baris (cth., 2000) perlu dimasukkan, pendekatan ini boleh menjadi perlahan.

Penyelesaian yang lebih cekap ialah memanfaatkan transaksi pangkalan data. Transaksi membolehkan anda mengumpulkan berbilang operasi bersama-sama dan melaksanakannya sebagai unit atom tunggal. Dengan memulakan transaksi, anda boleh memasukkan berbilang baris menggunakan satu pernyataan yang disediakan, mengurangkan overhed yang dikaitkan dengan melaksanakan sisipan berasingan.

Untuk menggambarkan ini, berikut ialah coretan kod yang dioptimumkan:

$array = array("array", "with", "about", "2000", "values");
$query = "INSERT INTO table (link) VALUES (?)";
$stmt = $mysqli->prepare($query);
$stmt->bind_param("s", $one);

$mysqli->query("START TRANSACTION");
foreach ($array as $one) {
    $stmt->execute();
}
$stmt->close();
$mysqli->query("COMMIT");

Kod ini memulakan transaksi, menyediakan penyata sisipan dan mengikat parameter. Kemudian, ia berulang melalui tatasusunan nilai, melaksanakan penyata sisipan untuk setiap nilai dalam transaksi. Akhirnya, ia melakukan transaksi, memuktamadkan semua sisipan.

Berbanding dengan kaedah asal, pendekatan ini meningkatkan prestasi dengan ketara. Dalam ujian dengan 10,000 lelaran, sisipan berasaskan transaksi mengambil masa 2 saat sahaja, manakala pendekatan asal mengambil masa 226 saat. Itulah peningkatan kelajuan dua tertib magnitud yang besar.

Dengan memanfaatkan urus niaga dan penyata yang disediakan, anda boleh memasukkan berbilang baris dengan cekap dan selamat ke dalam pangkalan data MySQL dalam PHP, memastikan integriti data dan pengoptimuman prestasi.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memasukkan Banyak Baris dengan Cekap dan Selamat ke dalam MySQLi Menggunakan PHP?. 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