Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana Mengemas kini Berbilang Rekod MySQL Dengan Cekap Menggunakan PHP dengan Array ID?
Lelaran Melalui Tatasusunan ID untuk Pertanyaan MySQL
Apabila bekerja dengan pertanyaan MySQL dalam PHP, anda mungkin perlu memasukkan berbilang nilai daripada tatasusunan ke dalam pertanyaan. Panduan ini menunjukkan cara untuk mencapai ini dengan cekap menggunakan kedua-dua pernyataan yang disediakan dan pertanyaan SQL dinamik.
Penyata Disediakan (Disyorkan)
Penyata yang disediakan menawarkan keselamatan dan kecekapan yang dipertingkatkan. Begini cara untuk menggunakannya:
$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: $ids[$i]"; } $stmt->close();
Pertanyaan SQL Dinamik
Sebagai alternatif, anda boleh membina pertanyaan SQL dinamik secara dinamik:
$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(); echo "Updated record IDs: " . implode(",", $ids);
Perbandingan dan Penggunaan Garis Panduan
Faedah Penyata Disediakan
Atas ialah kandungan terperinci Bagaimana Mengemas kini Berbilang Rekod MySQL Dengan Cekap Menggunakan PHP dengan Array ID?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!