Pernyataan Disediakan dalam MySQL
Bimbang tentang keselamatan dan kecekapan kod MySQL anda? Penyata yang disediakan menawarkan alternatif yang berkesan untuk melarikan diri input manual, dan boleh dilaksanakan dalam MySQL biasa tanpa berhijrah ke MySQLi.
PDO untuk Pengendalian Input Automatik
Objek Data PHP ( PDO) ialah alat teguh yang mengendalikan sambungan pangkalan data dan pengendalian input dengan cekap. Dengan menggunakan PDO, anda boleh yakin bahawa semua input pangkalan data akan dianggap selamat sebagai rentetan teks, menghapuskan keperluan untuk melarikan diri secara manual.
Pelaksanaan PDO
Untuk melaksanakan PDO , cipta objek pangkalan data dan nyatakan tetapan pangkalan data anda, termasuk pengekodan aksara pangkalan data:
<code class="php">$db = new PDO("mysql:host=[hostname];dbname=[database]",'[username]','[password]'); $db->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, "SET NAMES utf8"); $db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); $db->exec('SET NAMES utf8');</code>
Contoh Penggunaan
Setelah objek pangkalan data dicipta, gunakannya untuk laksanakan pertanyaan SQL dan ikat parameter dengan selamat:
<code class="php">$id = 1; $q = $db->prepare('SELECT * FROM Table WHERE id = ?'); $q->execute(array($id)); $row = $q->fetch(); echo $row['Column_1'];</code>
Ciri Tambahan
PDO membenarkan kemas kini, kad bebas dan fungsi rowCount:
<code class="php">$q = $db->prepare('UPDATE Table SET Column_1 = ?, Column_2 = ? WHERE id = ?'); $q->execute(array('Value for Column_1','Value for Column_2',$id));</code>
<code class="php">$search = 'John'; $q = $db->prepare('SELECT * FROM Table WHERE Column_1 LIKE ?'); $q->execute(array('%'.$search.'%')); $num = $q->rowCount();</code>
Pertimbangan Keselamatan
Penyata yang disediakan PDO sangat berkesan dalam mencegah serangan suntikan SQL dengan menganggap semua input sebagai rentetan teks. Walau bagaimanapun, adalah penting untuk diingat bahawa mereka tidak melindungi daripada jenis kelemahan lain, seperti skrip merentas tapak (XSS).
Kesimpulan
Pernyataan yang disediakan dalam MySQL menggunakan PDO menawarkan kelebihan yang ketara dari segi keselamatan dan kecekapan kod. Dengan menggunakan kaedah ini, anda boleh melindungi pangkalan data anda daripada serangan berniat jahat dan memperkemas aliran kerja pembangunan anda.
Atas ialah kandungan terperinci Bagaimanakah Penyata Disediakan PDO boleh meningkatkan keselamatan dan kecekapan MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!