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

Lỗi nghiêm trọng:Không có ngoại lệ 'mysqli_sql_exception' với thông báo 'Không có chỉ mục nào được sử dụng trong truy vấn / câu lệnh chuẩn bị'

Lỗi nghiêm trọng không phải trong MySQL; thông báo chỉ mục bị thiếu là một cảnh báo mức độ nghiêm trọng tương đối thấp.

tử vong lỗi là trong mã PHP của bạn, do ba điều kiện sau:

  • mysqli báo cáo một cảnh báo, ngay cả trong điều kiện tương đối vô hại.
  • Bạn đang ném mysqli_sql_exception đối với tất cả các lỗi cảnh báo do mysqli_report(MYSQLI_REPORT_ALL); dòng.
  • Mã PHP của bạn không bắt được ngoại lệ đó (tức là nó không nằm trong try{} khối bằng catch(){} thích hợp khối) và các trường hợp ngoại lệ không cần thiết sẽ gây tử vong.

Bạn không thể làm gì nhiều về câu đầu tiên, như đã đề cập trong câu trả lời khác. Vì vậy, bạn có thể sửa nó bằng cách thay đổi mysqli_report(...) của mình cài đặt thành MYSQLI_REPORT_STRICT hoặc MYSQLI_REPORT_OFF hoặc thực sự là bất kỳ thứ gì khác ngoài MYSQLI_REPORT_ALL .

(chỉnh sửa:bình luận của w3d bên dưới giải thích lý do và gợi ý bạn có thể sử dụng mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT) như một giải pháp thay thế tốt)

Để có các phương pháp hay nhất và kết hợp với điều này, bạn nên sửa nó đúng cách bằng cách sử dụng try{}catch(){} thích hợp trong mã của bạ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. Lỗi MySql:Trường 1364 'display_name' không có giá trị mặc định

  2. Cách tạo bảng trong MySQL Workbench bằng GUI

  3. Truy vấn MySQL để lấy tên cột?

  4. Cách truy cập đối tượng RowDataPacket

  5. Tập lệnh Bash để chèn giá trị trong MySQL