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

घातक त्रुटि:$this का उपयोग करना जब वस्तु संदर्भ में नहीं है

जैसे त्रुटि कहती है, आप $this . का उपयोग नहीं कर सकते वर्ग परिभाषा के बाहर। $_db use का उपयोग करने के लिए वर्ग परिभाषा के बाहर, पहले इसे public बनाएं private . के बजाय :

public $_db

फिर, इस कोड का उपयोग करें:

$authDb = new AuthDb();
$authDb->_db->prepare($query); // rest of code is the same

--

आपको यह समझना होगा कि $this . क्या है वास्तव में मतलब है। जब एक वर्ग परिभाषा के अंदर उपयोग किया जाता है, $this उस वर्ग की किसी वस्तु को संदर्भित करने के लिए उपयोग किया जाता है। तो अगर आपके पास कोई फ़ंक्शन था foo अंदर AuthDB , और आपको $_db . तक पहुंचने की आवश्यकता है foo . के भीतर से , आप $this . का उपयोग करेंगे PHP को यह बताने के लिए कि आप $_db चाहते हैं उसी वस्तु से foo के अंतर्गत आता है।

आप शायद यह स्टैक ओवरफ्लो प्रश्न पढ़ना चाहें:PHP:self vs $this ए>




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. नोडज में mysql स्कीमा कैसे बनाएं

  2. क्या MySQL 5 में एक बार में सभी विदेशी कुंजी बाधाओं को एक टेबल पर छोड़ना संभव है?

  3. किसी भी आईपी पते से MySQL डेटाबेस की दूरस्थ पहुँच प्रदान करें

  4. फ़ील्ड 'आईडी' का कोई डिफ़ॉल्ट मान नहीं है?

  5. जेटी-env.xml डेटा स्रोत के साथ एमवीएन जेट्टी पर WebAppContext को विफल करने की ओर जाता है:रन