Bagaimanakah saya boleh menulis semula kod MySQL-PHP lama menggunakan fungsi `mysql_*` yang tidak digunakan dengan penyata yang disediakan moden dan PDO?

Patricia Arquette
Lepaskan: 2024-10-26 00:55:28
asal
209 orang telah melayarinya

How can I rewrite old MySQL-PHP code using deprecated `mysql_*` functions with modern prepared statements and PDO?

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!