Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana Mengemas kini Berbilang Rekod MySQL Dengan Cekap Menggunakan Tatasusunan PHP?
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!