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_exceptionza všechny chyby a varování kvůli vašemumysqli_report(MYSQLI_REPORT_ALL);řádek. - Váš kód PHP tuto výjimku nezachycuje (tj. není v
try{}blok s vhodnýmcatch(){}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.