Menggunakan Tatasusunan dalam Pertanyaan MySQL (PHP): Panduan Komprehensif
Pertanyaan MySQL boleh dipertingkatkan dengan menggabungkan tatasusunan untuk menentukan parameter. Ini membolehkan pengendalian berbilang nilai dengan cekap dalam satu pernyataan.
Pendekatan 1: Penyata Disediakan
Penyataan yang disediakan menyediakan cara yang selamat dan cekap untuk menambah nilai dinamik pada pertanyaan . Dengan menggunakan pernyataan yang disediakan, anda boleh mengikat setiap elemen tatasusunan secara berulang sebagai parameter:
$mysqli = new mysqli(...); $sql = "UPDATE MyTable SET LastUpdated = GETDATE() WHERE id = ?"; $stmt = $mysqli->prepare($sql); foreach ($ids as $id) { $stmt->bind_param("i", $id); $stmt->execute(); echo "Updated record ID: $id\n"; }
Pendekatan 2: Pemegang Tempat Parameter dalam Pertanyaan
Sebagai alternatif, anda boleh membenamkan pemegang tempat parameter dalam pertanyaan itu sendiri dan mengikat semua elemen tatasusunan dalam satu langkah:
$sql = "UPDATE MyTable SET LastUpdated = GETDATE() WHERE id IN (?)"; $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(); echo "Updated record IDs: " . implode(",", $ids) . "\n";
Pendekatan Mana Yang Perlu Dipilih?
Pilihan bergantung pada kes penggunaan tertentu:
Faedah Penyata Disediakan
Ingat, menggunakan pernyataan yang disediakan ialah langkah keselamatan penting yang melindungi pangkalan data anda daripada serangan berniat jahat.
Atas ialah kandungan terperinci Bagaimana untuk Cekap Menggunakan Tatasusunan dengan Pertanyaan MySQL dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!