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

Мога ли да откривам и обработвам MySQL предупреждения с PHP?

За да бъдат "маркирани" предупрежденията на PHP, ще са необходими промени в драйвера mysql/mysqli, което очевидно е извън обхвата на този въпрос. Вместо това ще трябва основно да проверявате всяка заявка, която правите в базата данни за предупреждения:

$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
}

Очевидно това ще бъде ужасно скъпо за масово прилагане, така че може да се наложи внимателно да помислите кога и как могат да възникнат предупреждения (което може да ви доведе до рефакторинг, за да ги премахнете).

За справка, MySQL ПОКАЗВАНЕ НА ПРЕДУПРЕЖДЕНИЯ

Разбира се, можете да се откажете от първоначалната заявка за SELECT @@warning_count , което би ви спестило заявка при изпълнение, но го включих за педантична пълнота.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Лимит за качване на документи

  2. Преобразуване на обект в низ в PHP

  3. Как да променя съпоставянето на всички редове от latin1_swedish_ci на utf8_unicode_ci?

  4. Експортиране на MySQL таблица в CSV файл

  5. #1025 - Грешка при преименуване (errno:150) в mysql