Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana Mengemas kini Berbilang Rekod MySQL Dengan Cekap Menggunakan Tatasusunan PHP?

Bagaimana Mengemas kini Berbilang Rekod MySQL Dengan Cekap Menggunakan Tatasusunan PHP?

Patricia Arquette
Patricia Arquetteasal
2024-11-26 12:16:13929semak imbas

How to Efficiently Update Multiple MySQL Records Using PHP Arrays?

Cara Menggunakan Elemen Tatasusunan dalam Pertanyaan MySQL dalam PHP

Dalam PHP, anda boleh melaksanakan pertanyaan MySQL menggunakan nilai daripada tatasusunan integer sebagai parameter input. Teknik ini amat berguna apabila melakukan operasi KEMASKINI individu untuk setiap elemen dalam tatasusunan.

Pernyataan Disediakan: Pendekatan yang Lebih Selamat dan Lebih Cekap

Untuk memastikan keselamatan dan kecekapan daripada pertanyaan anda, adalah sangat disyorkan untuk menggunakan pernyataan yang disediakan. Ini melibatkan mencipta pertanyaan SQL berparameter dan kemudian menghantar elemen tatasusunan sebagai parameter semasa pelaksanaan.

Pertimbangkan kod PHP berikut:

$ids = array(2, 4, 6, 8);

$sql = "UPDATE MyTable SET LastUpdated = GETDATE() WHERE id = ?";
$stmt = $mysqli->prepare($sql);

for ($i = 0; $i < count($ids); $i++) {
    $stmt->bind_param("i", $ids[$i]);
    $stmt->execute();
    echo "Updated record ID: $id\n";
}

$stmt->close();

Kod ini menyediakan pertanyaan KEMASKINI berparameter dan kemudian melelang melalui tatasusunan, mengikat setiap elemen pada pemegang tempat (?) dan melaksanakan pertanyaan. Dengan menggunakan pernyataan yang disediakan, anda mengurangkan risiko serangan suntikan SQL dan meningkatkan prestasi.

Pendekatan Tidak Berulang: Cekap untuk Operasi Pukal

Pendekatan alternatif, sesuai untuk operasi pukal, adalah untuk menggunakan ruang letak berbilang parameter dalam pertanyaan SQL dan mengikat tatasusunan kepada mereka dalam satu langkah.

$ids = array(2, 4, 6, 8);

$params = implode(",", array_fill(0, count($ids), "?"));
$sql = "UPDATE MyTable SET LastUpdated = GETDATE() WHERE id IN ($params)";
$stmt = $mysqli->prepare($sql);

$types = str_repeat("i", count($ids));
$args = array_merge(array($types), $ids);
call_user_func_array(array($stmt, 'bind_param'), ref($args));

$stmt->execute();

$stmt->close();
echo "Updated record IDs: " . implode("," $ids) ."\n";

Pendekatan ini menyediakan pertanyaan SQL berparameter tunggal dan mengikat keseluruhan tatasusunan sekaligus, meningkatkan kecekapan untuk operasi pukal. Ingat untuk menggunakan fungsi ref untuk membuat rujukan kepada nilai tatasusunan, yang diperlukan untuk kaedah bind_param berfungsi dengan betul.

Dengan menggunakan coretan kod yang disediakan dan memahami faedah kenyataan yang disediakan, anda boleh menggunakan tatasusunan dengan berkesan elemen dalam pertanyaan MySQL anda dalam PHP, memastikan keselamatan dan pengoptimuman prestasi.

Atas ialah kandungan terperinci Bagaimana Mengemas kini Berbilang Rekod MySQL Dengan Cekap Menggunakan Tatasusunan 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