चेतावनियों के लिए 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 SHOW WARNINGS
बेशक, आप SELECT @@warning_count
. के लिए शुरुआती क्वेरी से छुटकारा पा सकते हैं , जो आपको प्रति निष्पादन एक प्रश्न बचाएगा, लेकिन मैंने इसे पांडित्यपूर्ण पूर्णता के लिए शामिल किया है।