Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara berhasil menulis ulang kode mysql-php lama dengan fungsi mysql_* yang tidak digunakan lagi?

Sebenarnya, sederhana, manis dan pendek:Ya, tidak perlu lagi.

Mari kita tinjau kodenya jangan sampai kita kehilangan sesuatu:

  • __construct - Konstruktor hanya berisi semua konfigurasi. PDO memiliki konsep yang jauh lebih mudah di sini, string koneksi yang berisi informasi paling banyak:

     mysql:host=127.0.0.1;dbname=people;charset=UTF-8
    

    PDO juga menyediakan konstruktor untuk penggunaan yang sudah jadi, jadi dobel tidak diperlukan.

  • connect - Fungsi koneksi juga tidak diperlukan lagi. Ini dilakukan dengan membuat instance PDO. Anda dapat mencari pengecualian, manual PHP memiliki contoh di halaman konstruktornya .

  • selectDb - Fungsi rumit ini juga tidak diperlukan lagi. Wow, fungsi ketiga bisa kita drop karena string koneksi PDO. Banyak kekuatan dengan karakter yang lebih sedikit. Semangat!

  • __destruct - Penghancur. Mari kita bersikap adil:MySQL tidak membutuhkan ini juga. Namun dengan PDO kami mendapatkannya secara gratis - tanpa menulis satu baris kode pun.

Kelihatan bagus! Anda berhasil bermigrasi dari kelas basis data yang tidak jelas itu ke PDO dengan menghapus kode yang kedaluwarsa! Selamat:

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

Jika sekarang Anda berpikir, bagaimana jika saya ingin memiliki kelas database sendiri? Anda dapat melakukannya, karena Anda dapat memperluas dari PDO (ya itu berhasil!):

class DB extends PDO
{
   ... my super-new-shiny-code
}

Mengapa Anda mungkin ingin melakukan itu? Tidak tahu, tapi mungkin lebih lancar untuk kode Anda. Jika Anda mencari contoh kode yang lebih baik, saya memilikinya di Tabel PHP/MySQL dengan Hyperlink .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Klausa MySQL LIMIT setara untuk SQL SERVER

  2. batas subquery mySQL

  3. kode php untuk menguji pdo tersedia?

  4. Bermigrasi dari replikasi tradisional ke GTID

  5. 2 Cara Mengonversi Angka ke Oktal di MySQL