मुझे पीडीओ ::नेक्स्टरोसेट () के साथ एक ही समस्या थी, क्योंकि यह सच हो जाता है, यहां तक कि कोई और रोसेट उपलब्ध नहीं है, इसलिए जब भ्रूण () को कॉल किया जाता है, तो यह अपवाद 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();
}