For at advarsler skal "flagges" til PHP indbygget, ville det kræve ændringer af mysql/mysqli-driveren, hvilket naturligvis ligger uden for dette spørgsmåls omfang. I stedet bliver du nødt til at tjekke hver forespørgsel, du foretager i databasen, for advarsler:
$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
}
Det er klart, at dette vil være uhyggeligt dyrt at anvende i massevis, så du skal måske nøje tænke over, hvornår og hvordan advarsler kan opstå (hvilket kan føre dig til refaktorer for at eliminere dem).
Til reference, MySQL VIS ADVARSLER
Selvfølgelig kan du undvære den indledende forespørgsel for SELECT @@warning_count
, hvilket ville spare dig for en forespørgsel pr. udførelse, men jeg inkluderede den for pedantisk fuldstændighed.