Menggunakan Penyata Disediakan untuk Pertanyaan Kemas Kini
Apabila melaksanakan pertanyaan kemas kini dengan PHP dan MySQL, adalah disyorkan untuk menggunakan pernyataan yang disediakan untuk memastikan integriti data dan menghalang suntikan SQL. Dalam perbincangan baru-baru ini mengenai kenyataan UPDATE MySQL, pengguna mendapatkan panduan tentang cara menggunakan pernyataan yang disediakan.
Penyelesaian
Dalam MySQL, pernyataan yang disediakan mengikut format yang serupa dengan INSERT atau SELECT kenyataan. Untuk menggunakan pernyataan yang disediakan untuk pertanyaan KEMASKINI, cuma gantikan semua nilai pembolehubah dengan ruang letak yang diwakili oleh tanda soal (?):
<code class="php">$sql = "UPDATE Applicant SET phone_number=?, street_name=?, city=?, county=?, zip_code=?, day_date=?, month_date=?, year_date=? WHERE account_id=?";</code>
Setelah pernyataan SQL disediakan, cipta objek pernyataan yang disediakan:
<code class="php">$stmt = $db_usag->prepare($sql);</code>
Seterusnya, ikat parameter pada pernyataan yang disediakan. Contoh berikut menganggap bahawa parameter tarikh dan account_id ialah integer (d), manakala parameter selebihnya ialah rentetan (s):
<code class="php">$stmt->bind_param('sssssdddd', $phone_number, $street_name, $city, $county, $zip_code, $day_date, $month_date, $year_date, $account_id);</code>
Laksanakan pernyataan yang disediakan:
<code class="php">$stmt->execute();</code>
Kendalikan sebarang ralat jika berlaku:
<code class="php">if ($stmt->error) { echo "FAILURE!!! " . $stmt->error; } else echo "Updated {$stmt->affected_rows} rows";</code>
Akhir sekali, tutup kenyataan yang disediakan:
<code class="php">$stmt->close();</code>
Atas ialah kandungan terperinci Bagaimana untuk Mengemas kini Data dengan Selamat dalam MySQL menggunakan Penyata Disediakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!