"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية إصلاح الخطأ "محاولة الحصول على خاصية غير كائن" في PHP؟

كيفية إصلاح الخطأ "محاولة الحصول على خاصية غير كائن" في PHP؟

تم النشر بتاريخ 2024-11-09
تصفح:539

How to Fix the

حل الخطأ "محاولة الحصول على خاصية غير كائن" في PHP

عند العمل مع PHP، قد تواجه الخطأ "محاولة الحصول على خاصية غير كائن" للحصول على ملكية غير كائن." يحدث هذا الخطأ عادةً عند محاولة الوصول إلى خصائص كائن لم تتم تهيئته بشكل صحيح أو أنه فارغ.

في حالة الكود المقدم، تكمن المشكلة في جلب بيانات القائمة الجانبية من قاعدة البيانات. تقوم الدالة mysql_fetch_object() بإرجاع كائن واحد، وليس مجموعة من الكائنات. ونتيجة لذلك، فإن التكرار خلال متغير القوائم الجانبية $ في صفحة العرض سيؤدي إلى حدوث الخطأ.

لحل هذه المشكلة، قم بتعديل التعليمات البرمجية الموجودة على صفحة التحكم إلى:

$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() إلى مصفوفة من الكائنات. يمكن بعد ذلك تكرار صفحة العرض عبر المصفوفة دون مواجهة خطأ في الخاصية.

البديل الآخر هو استخدام PDO، الذي يوفر واجهة أكثر حداثة وأمانًا لتفاعلات قاعدة البيانات. يمكن استخدام الأسلوب PDOStatement::fetchAll(PDO::FETCH_OBJ) لجلب مصفوفة من الكائنات من استعلام قاعدة بيانات.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3