Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Memasukkan Berbilang Nilai dengan Cekap dan Selamat ke dalam MySQL Menggunakan PHP?

Bagaimanakah Saya Boleh Memasukkan Berbilang Nilai dengan Cekap dan Selamat ke dalam MySQL Menggunakan PHP?

Patricia Arquette
Patricia Arquetteasal
2024-12-20 00:28:10747semak imbas

How Can I Efficiently and Securely Insert Multiple Values into MySQL Using PHP?

Memasukkan Pelbagai Nilai Secara Cekap dan Selamat dengan PHP dan MySQLi

Untuk memasukkan banyak nilai dengan selamat, mengelakkan suntikan SQL dan limpahan tindanan, pertimbangkan perkara berikut teknik.

Pendekatan 1: Gelung Dipertingkat dengan Penyata Disediakan

Kekalkan pendekatan semasa anda tetapi buat beberapa pengubahsuaian untuk kecekapan:

$stmt = $mysqli->prepare("INSERT INTO table (link) VALUES (?)");
$stmt->bind_param("s", $one);

foreach ($array as $one) {
    $stmt->execute();
}

Pendekatan ini memulakan kenyataan yang disediakan di luar gelung, meningkatkan prestasi.

Pendekatan 2: Pendekatan Berasaskan Transaksi

Untuk selanjutnya mengoptimumkan, menggunakan transaksi:

$stmt = $mysqli->prepare("INSERT INTO table (link) VALUES (?)");
$stmt->bind_param("s", $one);

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

Dengan membungkus sisipan dalam transaksi, sistem penimbalan MySQL digunakan, menghasilkan peningkatan kelajuan yang ketara.

Pengujian dan Keputusan

Dalam ujian prestasi dengan 10,000 lelaran, pendekatan berasaskan transaksi didapati jauh lebih pantas:

  • Tanpa transaksi: 226 saat
  • Dengan transaksi: 2 saat

Oleh itu, menggunakan pendekatan berasaskan transaksi disyorkan untuk besar- operasi sisipan skala.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memasukkan Berbilang Nilai dengan Cekap dan Selamat ke dalam MySQL 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