php - PDO: Call to a member function fetch() on a non-object? -
इस सवाल का पहले से ही एक उत्तर है: < / P>
- 1 उत्तर
मैं सिर्फ PDO कोशिश कर रहा हूँ और मुझे यह त्रुटि मिलती है, घातक त्रुटि: किसी गैर-ऑब्जेक्ट पर सदस्य फ़ंक्शन फ़ेच () को कॉल करें, लेकिन क्या यह $ the-> db ऑब्जेक्ट पर पहले से ही नहीं है?
class shoutbox {निजी $ db; फ़ंक्शन __construct ($ dbname, $ username, $ password, $ host = "localhost") {# db conections {$ this- & gt; db = new PDO ("mysql: host ="। $ Hostname। "; Dbname =" $ Dbname, $ username, $ password); } पकड़ (PDOException $ ई) {गूंज $ e- & gt; getMessage (); }} Function getShouts () {$ sql_shouts = $ this- & gt; db- & gt; क्वेरी ('सेलेक्ट शॉइड, संदेश, टेलिफ़ोर्ड, आईपैड्रेस, समय से WHERE pmuserid == 0'); वापसी $ sql_shouts- & gt; फ़ेच करें (PDO :: FETCH_OBJ); }}
विशेष रूप से "वापसी मान" खंड के लिए दस्तावेज पर ध्यानपूर्वक देखें:
पीडीओ :: क्वेरी () PDOStatement ऑब्जेक्ट देता है, या असफलता पर FALSE।
महत्वपूर्ण बिट "असफलता पर गलत" है गलत कोई ऑब्जेक्ट नहीं है, इसलिए कॉलिंग -> लाओ () खराब समाचार है।
शायद आपके "==" तुलना ऑपरेटर के उपयोग की वजह से त्रुटि है एसक्यूएल में, यह सिर्फ "=" है।
आपको यह जांचना चाहिए कि $ sql_shouts
गलत नहीं है, और फिर त्रुटि के साथ कुछ चतुर करें, अगर एक था:
& lt;? PHP $ sql_shouts = $ this- & gt; db- & gt; क्वेरी ('...'); अगर ($ sql_shouts === गलत) {$ errorInfo = $ this- & gt; db- & gt; errorInfo (); // त्रुटि दर्ज करें या कुछ अन्य स्मार्ट कार्रवाई करें} वापसी $ sql_shouts- & gt; प्राप्त करें (पीडीओ :: FETCH_OBJ);
Comments
Post a Comment