Mysql
 sql >> база данни >  >> RDS >> Mysql

Фатална грешка:Неуловено изключение „mysqli_sql_exception“ със съобщение „Не е използван индекс в заявката/подготвеното изявление“

Фаталната грешка не е в MySQL; липсващото известие за индекс е предупреждение с относително ниска сериозност.

Фаталният грешка във вашия PHP код поради следните три условия:

  • mysqli отчита много на предупреждения, дори за относително безвредни условия.
  • Изхвърляте mysqli_sql_exception за всички грешки и предупреждения поради вашия mysqli_report(MYSQLI_REPORT_ALL); линия.
  • Вашият PHP код не улавя това изключение (т.е. не е в try{} блок с подходящ catch(){} block), а неуловените изключения са фатални.

Не можете да направите много за първия, както е споменато в другия отговор. Така че можете да го поправите или като промените вашия mysqli_report(...) настройка на MYSQLI_REPORT_STRICT или MYSQLI_REPORT_OFF , или наистина нещо различно от MYSQLI_REPORT_ALL .

(редактиране:коментарът на w3d по-долу дава добро обяснение защо и предлага да използвате mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT) като добра алтернатива)

За най-добри практики и в комбинация с това, трябва да го коригирате правилно, като използвате try{} и catch(){} подходящо във вашия код.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да активирам MySQL Query Log?

  2. MySQL Great Circle Distance (формула на Haversine)

  3. Преименувайте колона в MySQL

  4. Как да отстраните проблеми с MySQL дефинера

  5. PDO:MySQL сървърът е изчезнал