Agar peringatan "ditandai" ke PHP secara asli akan memerlukan perubahan pada driver mysql/mysqli, yang jelas di luar cakupan pertanyaan ini. Sebagai gantinya, Anda pada dasarnya harus memeriksa setiap kueri yang Anda buat di database untuk peringatan:
$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
}
Jelas ini akan menjadi sangat mahal untuk diterapkan secara massal, jadi Anda mungkin perlu memikirkan dengan hati-hati kapan dan bagaimana peringatan dapat muncul (yang dapat membuat Anda melakukan refactor untuk menghilangkannya).
Untuk referensi, PERINGATAN TAMPILKAN MySQL
Tentu saja, Anda dapat mengabaikan kueri awal untuk SELECT @@warning_count
, yang akan menghemat kueri Anda per eksekusi, tetapi saya menyertakannya untuk kelengkapan bertele-tele.