sql >> Databáze >  >> RDS >> Mysql

Závažná chyba:Nezachycená výjimka 'mysqli_sql_exception' se zprávou 'V dotazu/připraveném příkazu nebyl použit žádný index'

Závažná chyba není v MySQL; chybějící oznámení o indexu je varováním relativně nízké závažnosti.

Osudné chyba je ve vašem kódu PHP kvůli následujícím třem podmínkám:

  • mysqli hlásí hodně varování, a to i pro relativně neškodné podmínky.
  • Vyhazujete mysqli_sql_exception za všechny chyby a varování kvůli vašemu mysqli_report(MYSQLI_REPORT_ALL); řádek.
  • Váš kód PHP tuto výjimku nezachycuje (tj. není v try{} blok s vhodným catch(){} blok) a nezachycené výjimky jsou fatální.

S tím prvním toho moc nenaděláte, jak je zmíněno v druhé odpovědi. Takže to můžete opravit buď změnou mysqli_report(...) nastavení na MYSQLI_REPORT_STRICT nebo MYSQLI_REPORT_OFF , nebo vlastně cokoliv jiného než MYSQLI_REPORT_ALL .

(upravit:níže uvedený komentář w3d poskytuje dobré vysvětlení proč, a navrhuje, abyste mohli použít mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT) jako dobrá alternativa)

Pro osvědčené postupy a v kombinaci s tím byste to měli správně opravit pomocí try{} a catch(){} vhodně v rámci vašeho kódu.



  1. Jak otočit protokoly PgBouncer v Linuxu/Windows?

  2. Výzva k předkládání příspěvků na PGDay.IT 2011 byla prodloužena

  3. Jak provést INSERT Pass-Through Query v SQL Server

  4. Převeďte formát data na formát DD/MMM/RRRR na serveru SQL