Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Memasukkan Berbilang Baris dengan Cekap ke dalam MySQLi Semasa Mencegah Suntikan SQL?

Bagaimanakah Saya Boleh Memasukkan Berbilang Baris dengan Cekap ke dalam MySQLi Semasa Mencegah Suntikan SQL?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-24 17:09:11519semak imbas

How Can I Efficiently Insert Multiple Rows into MySQLi While Preventing SQL Injection?

Pemasukan Berbilang Baris yang Cekap dalam MySQLi dengan SQL Injection Mitigation

Memasukkan sejumlah besar baris ke dalam pangkalan data MySQL dengan PHP dan MySQLi memerlukan satu teknik yang selamat dan cekap. Mengelakkan suntikan SQL semasa mengendalikan volum data sedemikian boleh menjadi mencabar.

Penyelesaian

Untuk menyelesaikan isu ini, pertimbangkan untuk menggunakan transaksi untuk mengumpulkan operasi sisipan. Pendekatan ini melibatkan pengalihan operasi penyediaan dan pengikatan di luar gelung, seperti yang ditunjukkan di bawah:

$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");

Faedah Transaksi

  • Kelajuan Peningkatan: Melaksanakan pertanyaan SQL dalam transaksi dengan ketara mengurangkan overhed dan meningkatkan prestasi. Ujian kami dengan 10,000 lelaran menunjukkan peningkatan kelajuan dua kali ganda apabila menggunakan transaksi.
  • Mitigasi Suntikan SQL: Transaksi mengumpulkan siri operasi ke dalam unit atom tunggal, memastikan semua atau tiada daripada baris dimasukkan. Ini menghalang sisipan separa dan melindungi daripada percubaan suntikan SQL.

Pelaksanaan

Ingat untuk melaksanakan MULA TRANSAKSI dan COMMIT pertanyaan di luar gelung PHP untuk memastikan keseluruhan operasi dianggap sebagai satu transaksi. Pendekatan ini menggabungkan keselamatan pernyataan yang disediakan dengan kecekapan sisipan pukal sambil mengurangkan limpahan tindanan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memasukkan Berbilang Baris dengan Cekap ke dalam MySQLi Semasa Mencegah Suntikan SQL?. 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