Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

क्या मैं PHP के साथ MySQL चेतावनियों का पता लगा सकता हूं और उन्हें संभाल सकता हूं?

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



  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. jdbc के माध्यम से निष्पादित संग्रहीत कार्यविधियाँ

  3. Amazon RDS SET GLOBAL कमांड को निष्पादित करने में असमर्थ

  4. क्वेरी के परिणाम को MySQL में एक वेरिएबल पर सेट करें

  5. PHP, MySQL PDOException के लिए गतिरोध अपवाद कोड?