Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm cách nào để viết lại thành công mã mysql-php cũ bằng các hàm mysql_ * không dùng nữa?

Trên thực tế, đơn giản, ngọt ngào và ngắn gọn:Có, không cần thiết nữa.

Hãy xem lại đoạn mã không phải là chúng ta đã đánh mất thứ gì đó:

  • __construct - Hàm khởi tạo chỉ chứa tất cả các cấu hình. PDO có một khái niệm dễ dàng hơn nhiều ở đây, một chuỗi kết nối chứa nhiều thông tin nhất:

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

    Ngoài ra PDO cung cấp hàm tạo để sử dụng được tạo sẵn, vì vậy không cần thiết phải tăng gấp đôi.

  • connect - Chức năng kết nối không cần thiết nữa. Điều này được thực hiện bằng cách khởi tạo PDO rồi. Bạn có thể tìm các trường hợp ngoại lệ, hướng dẫn sử dụng PHP có ví dụ trên trang phương thức khởi tạo của nó .

  • selectDb - Chức năng phức tạp này không còn cần thiết nữa. Chà, chức năng thứ ba mà chúng ta có thể bỏ qua vì chuỗi kết nối PDO. Nhiều quyền lực với ít ký tự hơn. Chúc mừng!

  • __destruct - Bộ hủy. Công bằng mà nói:MySQL cũng không cần điều này. Tuy nhiên, với PDO, chúng tôi nhận được nó miễn phí - mà không cần viết một dòng mã nào.

Có vẻ tốt! Bạn đã quản lý để di chuyển từ lớp cơ sở dữ liệu khó hiểu đó sang PDO bằng cách xóa mã lỗi thời! Xin chúc mừng:

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

Nếu bây giờ bạn nghĩ, điều gì xảy ra nếu tôi muốn có lớp cơ sở dữ liệu của riêng mình? Bạn có thể làm điều đó, bởi vì bạn có thể mở rộng từ PDO (vâng, điều đó hoạt động!):

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

Tại sao bạn có thể muốn làm điều đó? Không có ý kiến, nhưng có lẽ nó thông thạo hơn cho mã của bạn. Nếu bạn đang tìm kiếm một ví dụ mã tốt hơn, tôi có một ví dụ tại Bảng PHP / MySQL với Siêu liên kết .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Giới thiệu về các kiểu dữ liệu MySQL

  2. Ví dụ về CURTIME () - MySQL

  3. Làm cách nào để lấy các kiểu số từ MySQL bằng PDO?

  4. convert_tz trả về null

  5. Kết nối với máy chủ MySQL qua SSH trong PHP