Rumah >pembangunan bahagian belakang >tutorial php >Cara Memodenkan Kod MySQL-PHP Anda: Menggantikan Fungsi `mysql_*` yang Tidak Diguna pakai dengan Penyata Disediakan dan PDO?

Cara Memodenkan Kod MySQL-PHP Anda: Menggantikan Fungsi `mysql_*` yang Tidak Diguna pakai dengan Penyata Disediakan dan PDO?

Susan Sarandon
Susan Sarandonasal
2024-10-26 18:25:03677semak imbas

How to Modernize Your MySQL-PHP Code: Replacing Deprecated `mysql_*` Functions with Prepared Statements and PDO?

Menulis semula Kod MySQL-PHP Lama dengan Fungsi mysql_* yang Dihentikan

Apabila PHP berkembang, fungsi tertentu menjadi tidak digunakan lagi, termasuk arahan mysql_*. Untuk meningkatkan keselamatan dan kestabilan, arahan ini hendaklah digantikan dengan pernyataan yang disediakan dan PDO.

Penggantian Kunci:

  • Ganti mysql_connect dengan PDO::__construct() .
  • Ganti mysql_select_db dengan menetapkan nama pangkalan data dalam rentetan sambungan PDO, cth., mysql:host=127.0.0.1;dbname=people.

Contoh Kod:

<code class="php"> // Old deprecated code
$db = new dbConn('127.0.0.1', 'root', 'pass', 'people', 'animals');

 // New PDO code
$db = new PDO('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass');</code>

Pertimbangan Tambahan:

  • Pembina dan Pemusnah: Fungsi __construct() dan __destruct() bukan diperlukan dengan PDO, kerana ia mengendalikan sambungan dan menutup secara dalaman.
  • Pemilihan Pangkalan Data: Pemilihan pangkalan data kini dibenamkan dalam rentetan sambungan PDO. Gunakan parameter dbname dalam rentetan sambungan untuk menentukan pangkalan data yang dikehendaki.

Kelas Contoh:

Kelas contoh berikut menunjukkan cara menulis semula kaedah selectDb menggunakan PDO:

<code class="php">class DB
{
    private $pdo;

    public function __construct($host, $db, $user, $pass)
    {
        // Establish PDO connection
        $this->pdo = new PDO("mysql:host=$host;dbname=$db;charset=UTF-8", $user, $pass);
    }

    public function selectDatabase($dbName)
    {
        // No longer required with PDO
    }
}</code>

Kesimpulan:

Dengan menggantikan fungsi mysql_* yang tidak digunakan dengan pernyataan yang disediakan dan PDO, pembangun boleh meningkatkan keselamatan dan kestabilan kod mereka sambil memudahkan pangkalan data interaksi.

Atas ialah kandungan terperinci Cara Memodenkan Kod MySQL-PHP Anda: Menggantikan Fungsi `mysql_*` yang Tidak Diguna pakai dengan Penyata Disediakan dan PDO?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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