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

Wierd và lỗi khó chịu:Gọi đến hàm không xác định mysql_query ()

PHP 7 đã loại bỏ mysql_query() bởi vì nó có vấn đề theo nhiều cách khác nhau! API không khuyến khích các thực hành tốt, dòng chính thức là nó không bị thay đổi và KHÔNG CÓ BÁO CÁO CHUẨN BỊ!?! Về cơ bản, đó là vấn đề lớn nhất trong PHP khuyến khích các hành vi xấu dẫn đến tiêm sql và đó là một tình huống xấu lớn.

Tuy nhiên, tôi làm việc với các cơ sở mã kế thừa, vì vậy tôi phải đối phó với tình huống tương tự như bạn trong một số trường hợp. Nếu bạn có một cơ sở mã nhỏ, chỉ cần cập nhật phương thức kết nối db của bạn. Nếu bạn có một cơ sở mã lớn, đây là những gì tôi đề xuất:

  • Khôi phục phiên bản php của bạn cho cơ sở mã này thành php 5.6, phiên bản này sẽ được hỗ trợ trong năm 2016.
  • Hãy dành thời gian cập nhật lên PDO (bạn có thể tạo awrapper xung quanh PDO để làm cho nó ít dài dòng hơn và vẫn cho phép các truy vấn chuẩn bị).
  • Bỏ qua mysqli. Nếu bạn mất 5 phút để nâng cấp từ mysql_ *, có thể bạn đang làm sai và để mặc cho sql-injection. Chỉ cần truy cập PDO và bắt đầu sử dụng các truy vấn đã chuẩn bị sẵn để bạn có thể ngủ vào ban đêm.
  • Nếu bạn vẫn muốn sử dụng php 7 trong các dự án hiện đại hơn, hãy tạo phiên bản vùng chứa với các cơ sở mã kế thừa php 5.6 cũ hơn trên đó.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách chỉ lấy hàng đầu tiên từ Tập kết quả

  2. mysqldump với tạo dòng cơ sở dữ liệu

  3. Tóm tắt quy trình làm việc UTF8 PHP, MySQL

  4. Tổng hợp hàng MySQL thành số cột động

  5. Cách tốt nhất để lưu trữ tin nhắn trò chuyện trong cơ sở dữ liệu?