Rumah > pembangunan bahagian belakang > tutorial php > Mengapa Saya Perlu Berhijrah dari Fungsi MySQL ke PDO?

Mengapa Saya Perlu Berhijrah dari Fungsi MySQL ke PDO?

Patricia Arquette
Lepaskan: 2024-11-11 05:29:03
asal
281 orang telah melayarinya

Why Should I Migrate from MySQL Functions to PDO?

Cara Berpindah dari Fungsi MySQL ke PDO

Pengenalan

Sebagai PHP 5.5.0 menandakan penamatan fungsi MySQL, adalah penting untuk beralih kepada alternatif seperti PDO atau MySQLi untuk operasi pangkalan data. Artikel ini menyediakan panduan untuk memindahkan kod anda ke PDO, meliputi kedua-dua pelayan MySQL dan MSSQL.

Mengapa Fungsi MySQL Dihentikan

Fungsi MySQL adalah lama dan terdedah kepada keselamatan kelemahan, menjadikannya tidak sesuai untuk aplikasi PHP moden. Mereka kekurangan ciri kemudahan dan sukar untuk digunakan dengan selamat. PDO dan MySQLI menangani isu ini dan menawarkan peningkatan yang ketara.

Menyambung ke MySQL dengan PDO

  1. Modul PHP php_pdo_mysql.dll ialah diperlukan.
  2. Buat tika PDO menggunakan DSN (Nama Sumber Data):

    • $dsn = 'mysql:dbname=databasename;host =127.0.0.1';
    • $dbh = PDO baharu($dsn, $user, $password);

Menyambung ke MSSQL dengan PDO

  1. Pasang php_pdo_sqlsrv_##_ts.dll atau php_pdo_sqlsrv_##_nts.dll pemacu.
  2. Cipta tika PDO menggunakan

    DSN (Nama Sumber Data):

      $dsn = 'sqlsrv:Server=127.0.0.1;Pangkalan Data=nama pangkalan data';
    • $dbh = PDO baharu($dsn, $pengguna, $kata laluan);

Melaksanakan Pertanyaan dengan Penyata Disediakan

PDO menggunakan pernyataan yang disediakan yang menghalang suntikan SQL dengan membersihkan input pengguna yang dimasukkan ke dalam pertanyaan SQL. Untuk menyediakan pernyataan:

  1. Gunakan

    ->prepare() untuk mencipta pernyataan yang disediakan.

      $SQL = 'SELECT ID, EMAIL DARI pengguna WHERE user = :username';
    • $stmt = $dbh->prepare($SQL);
  2. Bind parameter( s) kepada pernyataan yang disediakan menggunakan

    ->bindValue():

      $stmt->bindValue(':username', $username);

Melaksanakan Pertanyaan

  1. Melaksanakan pernyataan yang disediakan menggunakan

    ->execute() tanpa melepasi sebarang hujah:

      $stmt->execute();
  2. Untuk pertanyaan langsung, gunakan

    ->query():

      $result = $dbh->query($SQL);

Mengambil Keputusan

fetch() mengambil satu baris daripada set hasil. fetchAll() mengambil semua baris ke dalam tatasusunan.

Kelas Contoh untuk PDO

Kesimpulan

Berhijrah ke PDO daripada fungsi MySQL memerlukan beberapa pengubahsuaian kod, tetapi ia meningkatkan keselamatan pangkalan data dengan ketara dan menyediakan aplikasi anda untuk versi PHP masa hadapan. Sampel kod dan kelas sampel yang disediakan harus membantu dalam peralihan yang lancar.

Atas ialah kandungan terperinci Mengapa Saya Perlu Berhijrah dari Fungsi MySQL ke 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