PHP में "गैर-ऑब्जेक्ट की संपत्ति प्राप्त करने का प्रयास" त्रुटि को हल करना
PHP के साथ काम करते समय, आपको "कोशिश कर रहा हूं" त्रुटि का सामना करना पड़ सकता है गैर-वस्तु की संपत्ति प्राप्त करने के लिए।" यह त्रुटि आम तौर पर तब होती है जब किसी ऑब्जेक्ट के गुणों तक पहुंचने का प्रयास किया जाता है जिसे ठीक से प्रारंभ नहीं किया गया है या शून्य है।
प्रदान किए गए कोड के मामले में, समस्या डेटाबेस से साइडमेनू डेटा लाने में है। Mysql_fetch_object() फ़ंक्शन एक ऑब्जेक्ट लौटाता है, ऑब्जेक्ट की एक सरणी नहीं। परिणामस्वरूप, दृश्य पृष्ठ में $sidemenus वैरिएबल के माध्यम से पुनरावृत्ति करने से त्रुटि उत्पन्न होगी।
इस समस्या को हल करने के लिए, नियंत्रण पृष्ठ पर कोड को संशोधित करें:
$results = mysql_query("SELECT * FROM sidemenu WHERE `menu_id`='".$menu."' ORDER BY `id` ASC LIMIT 1", $con); $sidemenus = array(); while ($sidemenu = mysql_fetch_object($results)) { $sidemenus[] = $sidemenu; }
यह कोड mysql_fetch_object() द्वारा लौटाए गए एकल ऑब्जेक्ट को ऑब्जेक्ट की एक सरणी में परिवर्तित करता है। फिर दृश्य पृष्ठ संपत्ति त्रुटि का सामना किए बिना सरणी के माध्यम से पुनरावृत्त हो सकता है।
एक अन्य विकल्प पीडीओ का उपयोग करना है, जो डेटाबेस इंटरैक्शन के लिए अधिक आधुनिक और सुरक्षित इंटरफ़ेस प्रदान करता है। PDOStatement::fetchAll(PDO::FETCH_OBJ) विधि का उपयोग डेटाबेस क्वेरी से ऑब्जेक्ट की एक सरणी लाने के लिए किया जा सकता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3