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

PDOStatement::nextRowSet() विंडोज़ पर MySQL 5.6.16 में टूटा हुआ है

मुझे पीडीओ ::नेक्स्टरोसेट () के साथ एक ही समस्या थी, क्योंकि यह सच हो जाता है, यहां तक ​​​​कि कोई और पंक्तियाँ उपलब्ध नहीं हैं, इसलिए जब भ्रूण () को कॉल किया जाता है, तो यह अपवाद HY000 उठाता है। (PHP 5.5.12 विंडोज़, माइस्क्ल 5.5.17 लाइनक्स पर परीक्षण किया गया)

इस समस्या का समाधान यह है कि रोसेट लाने से पहले PDO::columnCount() विधि से स्तंभों की संख्या की जाँच की जाए। यदि यह गैर-शून्य है, तो आपके पास एक वैध रोसेट है, और इस प्रकार आप PDO::fetchAll() को कॉल कर सकते हैं।

भले ही PDO::nextRowset() रिपोर्ट सही हो, कॉलमकाउंट() अगले रोसेट पर जाने से पहले कॉलम की संख्या की रिपोर्ट करेगा।

उदाहरण:

while ($objQuery->columnCount()) {
    $tab[] = $objQuery->fetchAll(\PDO::FETCH_ASSOC);
    $objQuery->nextRowset();
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. java.net.ConnectException

  2. पीएचपी डेटा ऑब्जेक्ट सम्मिलित निष्पादित नहीं कर रहा है

  3. MySQL 'अपडेट टाइमस्टैम्प' कॉलम - ट्रिगर

  4. Yii सम्मिलित करें ... डुप्लीकेट अद्यतन पर

  5. मेरे पास डॉकर्स पर MySQL और apache सुपरसेट सेटअप है और एक ब्रिज नेटवर्क से जुड़ा है, SQLAlchemy URI क्या होगा?