Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Czy mogę wykrywać i obsługiwać ostrzeżenia MySQL za pomocą PHP?

Aby ostrzeżenia były "oznaczone" natywnie w PHP, wymagałoby to zmian w sterowniku mysql/mysqli, co oczywiście wykracza poza zakres tego pytania. Zamiast tego będziesz musiał sprawdzić każde zapytanie w bazie danych pod kątem ostrzeżeń:

$warningCountResult = mysql_query("SELECT @@warning_count");
if ($warningCountResult) {
    $warningCount = mysql_fetch_row($warningCountResult );
    if ($warningCount[0] > 0) {
        //Have warnings
        $warningDetailResult = mysql_query("SHOW WARNINGS");
        if ($warningDetailResult ) {
            while ($warning = mysql_fetch_assoc($warningDetailResult) {
                //Process it
            }
        }
    }//Else no warnings
}

Oczywiście stosowanie en-masy będzie strasznie drogie, więc być może będziesz musiał dokładnie przemyśleć, kiedy i jak mogą pojawić się ostrzeżenia (co może prowadzić do refaktoryzacji w celu ich wyeliminowania).

Dla porównania, MySQL SHOW OSTRZEŻENIA

Oczywiście możesz zrezygnować z początkowego zapytania dla SELECT @@warning_count , co zaoszczędziłoby Ci zapytania na wykonanie, ale włączyłem je dla pedantycznej kompletności.



  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 - Używanie If Then Else w MySQL UPDATE lub SELECT Query

  2. Jak mogę zrobić „wstaw, jeśli nie istnieje” w MySQL?

  3. jak usunąć zduplikowane wartości w tabeli mysql

  4. Błędy MySQL MAX_JOIN_SIZE

  5. Potrzebujesz porady na temat prostego projektu bazy danych MySQL