Pelaksanaan Pertanyaan dengan Tatasusunan PHP dalam MySQL
Apabila anda mempunyai pelbagai elemen yang anda perlukan untuk dimasukkan ke dalam pertanyaan MySQL, anda mungkin tertanya-tanya bagaimana untuk mengendalikannya dengan cekap. Dalam PHP, terdapat pelbagai pendekatan untuk mencapai perkara ini:
Menggunakan Penyata Disediakan
Pernyataan yang disediakan ialah cara yang selamat dan cekap untuk melaksanakan pertanyaan dengan nilai parameter dinamik. Untuk menggunakan pernyataan yang disediakan dengan tatasusunan ID:
$ids = [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();
Pendekatan Alternatif untuk Pemegang Tempat Berbilang Parameter
Jika anda perlu mengemas kini berbilang medan dengan data yang sama untuk setiap ID dalam tatasusunan, anda boleh menggunakan satu pertanyaan dengan berbilang parameter pemegang tempat:
$ids = [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); // Dynamic call for parameter binding $types = str_repeat("i", count($ids)); $args = array_merge(array($types), $ids); call_user_func_array(array($stmt, 'bind_param'), ref($args)); // Execute once for all input values $stmt->execute(); $stmt->close(); echo "Updated record IDs: " . implode(",", $ids) . "\n";
Memilih Pendekatan yang Tepat
Pendekatan berulang dengan pernyataan yang disediakan sesuai untuk operasi KEMASKINI dan INSERT di mana anda perlu mengemas kini berbilang rekod satu demi satu . Pendekatan berbilang parameter adalah lebih cekap untuk operasi SELECT dan DELETE, atau apabila anda perlu mengemas kini berbilang rekod dengan data yang sama.
Faedah Penyata Disediakan
Ingat untuk menggunakan pernyataan yang disediakan walaupun untuk tatasusunan kecil untuk memastikan integriti dan prestasi data.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Pertanyaan MySQL dengan Cekap dengan Tatasusunan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!