Amalan Terbaik untuk PHP Prepared Statement UPDATE
Pernyataan yang disediakan adalah penting untuk melindungi daripada suntikan SQL dan memastikan integriti data. Artikel ini menangani isu biasa yang dihadapi apabila menggunakan pernyataan yang disediakan untuk pertanyaan KEMASKINI dalam PHP.
Ikat Percanggahan Susunan Parameter
Seperti yang ditunjukkan oleh kod yang disediakan, parameter pengikat dalam salah pesanan boleh membawa kepada tingkah laku UPDATE yang salah. Susunan pengikatan parameter mesti sepadan dengan susunan ruang letak dalam pernyataan SQL. Dalam coretan kod, $content terikat pada pemegang tempat pertama ('?') dan $id terikat pada yang kedua. Walau bagaimanapun, klausa WHERE mencari nilai $content dalam lajur id, yang berkemungkinan bukan perkara yang anda maksudkan.
Menterbalikkan susunan parameter akan membetulkan isu ini:
<code class="php">$stmt->bind_param('si', $id, $content);</code>
Meloloskan diri adalah Tidak Diperlukan
Apabila menggunakan parameter dalam pernyataan yang disediakan, tidak perlu melepaskan data input secara manual. Percubaan untuk melarikan diri daripada pembolehubah $content di sini bukan sahaja tidak diperlukan tetapi boleh mengakibatkan pemasukan aksara garis miring ke belakang literal ('') ke dalam kandungan anda.
Pengendalian Ralat
Adalah penting untuk memasukkan pengendalian ralat apabila bekerja dengan pernyataan yang disediakan. Coretan kod berikut menunjukkan:
<code class="php">if ($stmt === false) { trigger_error($this->mysqli->error, E_USER_ERROR); return; }</code>
<code class="php">if ($status === false) { trigger_error($stmt->error, E_USER_ERROR); }</code>
Dengan mengendalikan ralat dengan sewajarnya, anda boleh menentukan punca sebarang isu dan menghalang peningkatannya.
Kemas Kini Separa Medan
Anda betul-betul bertanya sama ada boleh diterima untuk mengemas kini medan tertentu sahaja dalam kenyataan KEMASKINI. Jawapannya ya. Menggunakan pernyataan yang disediakan membolehkan anda menetapkan nilai secara selektif untuk lajur yang ingin anda ubah suai, meninggalkan lajur yang selebihnya tidak terjejas.
Atas ialah kandungan terperinci Cara Mengelakkan Rasuah Data dengan Percanggahan Susunan Parameter dalam Pernyataan PHP Disediakan UPDATE Pertanyaan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!