За да бъдат "маркирани" предупрежденията на 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
, което би ви спестило заявка при изпълнение, но го включих за педантична пълнота.