Menulis Semula Kod MySQL-PHP Lama dengan Fungsi mysql_* yang Dihentikan
Dalam era moden pembangunan PHP ini, adalah penting untuk sentiasa mengikuti perkembangan- setakat ini dengan amalan terbaik. Salah satu kebimbangan yang paling mendesak ialah penamatan fungsi mysql_* yang memihak kepada kenyataan yang disediakan dan PDO (Objek Data PHP) yang lebih selamat dan stabil.
Jika anda mendapati diri anda dalam situasi malang bekerja dengan kod warisan yang masih menggunakan fungsi mysql_*, jangan takut! Berikut ialah panduan langkah demi langkah untuk membantu anda menavigasi peralihan ini dengan jayanya.
Menukar Parameter Sambungan
Konfigurasi awal anda bertukar kepada rentetan sambungan PDO seperti berikut:
<code class="php">// Old: $db = new dbConn('127.0.0.1', 'root', 'pass', 'people', 'animals'); // New: $db = new PDO('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass');</code>
Mengalih Keluar Fungsi Berlebihan
Pembina (__construct) dan pemusnah (__destruct) tidak lagi diperlukan dengan PDO. Sambungan diwujudkan secara automatik apabila menghidupkan objek PDO.
Pemilihan Pangkalan Data Pemfaktoran Semula
Fungsi selectDb juga dibuat berlebihan. Pemilihan pangkalan data dimasukkan ke dalam rentetan sambungan PDO.
Kelas Kemas Kini
Kod berikut menggambarkan kelas dbConn yang dikemas kini:
<code class="php">class dbConn extends PDO { public function __construct($dsn, $user, $password, $options = []) { parent::__construct($dsn, $user, $password, $options); } }</code>
Kebolehlanjutan
Jika mahu, anda boleh melanjutkan daripada PDO untuk mencipta kelas pangkalan data tersuai anda sendiri. Ini membolehkan lebih fleksibiliti dan kelancaran dalam kod anda.
Contoh Penggunaan
<code class="php">$db = new dbConn('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass'); // Query using prepared statements $statement = $db->prepare('SELECT * FROM users WHERE name = ?'); $statement->execute([$name]);</code>
Kesimpulan
Merangkul PDO dalam kod PHP anda membawa keselamatan, kestabilan dan kemesraan pembangun yang dipertingkatkan. Dengan mengikuti langkah ini, anda boleh berjaya menulis semula kod mysql_* lama dan meningkatkan amalan pembangunan PHP anda.
Atas ialah kandungan terperinci Bagaimanakah saya boleh menulis semula kod MySQL-PHP lama menggunakan fungsi `mysql_*` yang tidak digunakan dengan penyata yang disediakan moden dan PDO?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!