Marwan Elatta نشر منذ 17 ساعة أرسل تقرير نشر منذ 17 ساعة السلام عليكم كيف استطيع معرفة الـ ID المقصود Fatal error: Uncaught mysqli_sql_exception: Unknown column 'ID' in 'where clause' in /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_db.php:95 Stack trace: #0 /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_db.php(95): mysqli->prepare('SELECT * FROM _...') #1 /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_db.php(222): db->prepare('SELECT * FROM _...', true) #2 /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_db.php(126): db->_query(Array) #3 /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_user.php(693): db->_select(Array) #4 /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_user.php(716): user->group_select(Array) #5 /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_user.php(1090): user->get_group_data(5) #6 /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_user.php(635): user->get_access(false) #7 /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_user.php(443): user->get_data(Array) #8 /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_visitor.php(30): user->data(Array) #9 /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_visitor.php(38): visitor->user() #10 /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_loader.php(143): visitor->set_access() #11 /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/loader.php(24): loader->_check_user_request() #12 /home/vol17_1/infinityfree.com/if0_38415802/htdocs/index.php(6): require_once('/home/vol17_1/i...') #13 {main} thrown in /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_db.php on line 95 2 اقتباس
0 محمد عاطف17 نشر منذ 17 ساعة أرسل تقرير نشر منذ 17 ساعة لاحظ الخطأ يخبرك أنه موجود في ملف app/core/class_db.php في سطر رقم 95 . حيث أنك هنا تستخدم في الإستعلام العمود ID في جملة الإستعلام where حيث يبدوا انك تقوم بالبحث من خلال العمود ID . ويبدوا أنك لا تقوم بوضع العمود ID في جملة select لهذا لا يتعرف على العمود ID في إستعلام where . لذلك تأكد من إختيار العمود ID في جملة select والتأكد من إسم العمود الصحيح. يمكنك إرفاق الإستعلام كاملا الموجود في سطر 95 لمساعدتك بشكل أفضل. اقتباس
0 Marwan Elatta نشر منذ 17 ساعة الكاتب أرسل تقرير نشر منذ 17 ساعة السطر 95 يحتوي على: ;$run = parent::prepare( $query)$ المشكلة أنني لم أستطع معرفةالعمود المقصود في قاعدة البيانات 1 اقتباس
0 Mustafa Suleiman نشر منذ 16 ساعة أرسل تقرير نشر منذ 16 ساعة بتاريخ 12 دقائق مضت قال Marwan Elatta: السطر 95 يحتوي على: ;$run = parent::prepare( $query)$ المشكلة أنني لم أستطع معرفةالعمود المقصود في قاعدة البيانات المشكلة تبدأ من ملفات class_user.php وclass_db.php تفقدها، فالكود يحاول جلب بيانات مستخدم أو مجموعة من خلال ID غير موجود. قبل سطر 95 أضف التالي لطباعة الاستعلام ومعرفة محتواه وإيقاف الكود قبل الوصول للسطر 95: echo $query; exit; $run = parent::prepare($query); تصفح الصفحة مرة أخرى وسيظهر لك الاستعلام الكامل مشابه لللتالي SELECT * FROM users WHERE ID = 5، ولاحظ اسم الجدول واسم العمود المستخدم. ثم اتصل بقاعدة البيانات عبر phpMyAdmin أو أي أداة إدارة قواعد بيانات متوفرة، وابحث عن الجدول المذكور في الاستعلام، وفي حال الاستعلام به ID ولكن العمود في الجدول يُسمى id فانتبه إلى حساسية الأحرف مهمة أو user_id أو أي اسم آخر، وسيكون ذلك مصدر المشكلة. اقتباس
0 Marwan Elatta نشر منذ 16 ساعة الكاتب أرسل تقرير نشر منذ 16 ساعة بتاريخ 9 دقائق مضت قال Mustafa Suleiman: المشكلة تبدأ من ملفات class_user.php وclass_db.php تفقدها، فالكود يحاول جلب بيانات مستخدم أو مجموعة من خلال ID غير موجود. قبل سطر 95 أضف التالي لطباعة الاستعلام ومعرفة محتواه وإيقاف الكود قبل الوصول للسطر 95: echo $query; exit; $run = parent::prepare($query); تصفح الصفحة مرة أخرى وسيظهر لك الاستعلام الكامل مشابه لللتالي SELECT * FROM users WHERE ID = 5، ولاحظ اسم الجدول واسم العمود المستخدم. ثم اتصل بقاعدة البيانات عبر phpMyAdmin أو أي أداة إدارة قواعد بيانات متوفرة، وابحث عن الجدول المذكور في الاستعلام، وفي حال الاستعلام به ID ولكن العمود في الجدول يُسمى id فانتبه إلى حساسية الأحرف مهمة أو user_id أو أي اسم آخر، وسيكون ذلك مصدر المشكلة. الاستعلام: SELECT * FROM _user_groups WHERE `ID` = ? ORDER BY ID ASC LIMIT 0, 1 الجدول لايحتوي على عمود ID اقتباس
0 Mustafa Suleiman نشر منذ 4 ساعة أرسل تقرير نشر منذ 4 ساعة بتاريخ 12 ساعة قال Marwan Elatta: الاستعلام: SELECT * FROM _user_groups WHERE `ID` = ? ORDER BY ID ASC LIMIT 0, 1 الجدول لايحتوي على عمود ID علية إذن إلى معرفة الأعمدة الموجودة فعليًا في الجدول _user_groups من خلال phpMyAdmin تستطيع تفقد الأمر يدويًا أو من خلال الاستعلام: SHOW COLUMNS FROM _user_groups; عامًة الاستعلام يحاول استخدام ID كمعرّف أساسي Primary Key لتحديد سجل معين وترتيب النتائج، فمن المرجح أن العمود الحقيقي ربما يكون بالاسم: id group_id user_group_id بمجرد تحديد العمود الصحيح لنفترض أنه group_id، تحتاج إلى تعديل الاستعلام في الكود أو تعديل قاعدة البيانات، عامًة افتح الملف الذي يولّد الاستعلام ربما يكون في class_db.php أو class_user.php، وابحث عن السطر الذي يحتوي على: $query = "SELECT * FROM _user_groups WHERE `ID` = ? ORDER BY ID ASC LIMIT 0, 1"; واستبدل ID باسم العمود الصحيح. او عليك تعديل القيمة التي يتم تمريرها للاستعلام في حال كان لا يتم كتابة الاستعلام مباشرًة. اقتباس
0 Marwan Elatta نشر منذ 2 ساعة الكاتب أرسل تقرير نشر منذ 2 ساعة بتاريخ 59 دقائق مضت قال Mustafa Suleiman: علية إذن إلى معرفة الأعمدة الموجودة فعليًا في الجدول _user_groups من خلال phpMyAdmin تستطيع تفقد الأمر يدويًا أو من خلال الاستعلام: SHOW COLUMNS FROM _user_groups; عامًة الاستعلام يحاول استخدام ID كمعرّف أساسي Primary Key لتحديد سجل معين وترتيب النتائج، فمن المرجح أن العمود الحقيقي ربما يكون بالاسم: id group_id user_group_id بمجرد تحديد العمود الصحيح لنفترض أنه group_id، تحتاج إلى تعديل الاستعلام في الكود أو تعديل قاعدة البيانات، عامًة افتح الملف الذي يولّد الاستعلام ربما يكون في class_db.php أو class_user.php، وابحث عن السطر الذي يحتوي على: $query = "SELECT * FROM _user_groups WHERE `ID` = ? ORDER BY ID ASC LIMIT 0, 1"; واستبدل ID باسم العمود الصحيح. او عليك تعديل القيمة التي يتم تمريرها للاستعلام في حال كان لا يتم كتابة الاستعلام مباشرًة. هنا الجدول المقصود 1 اقتباس
0 محمد عاطف17 نشر منذ 2 ساعة أرسل تقرير نشر منذ 2 ساعة بتاريخ 12 دقائق مضت قال Marwan Elatta: هنا الجدول المقصود لاحظ أن الجدول لا يحوي على أى حقل يسمى ID . هل قمت بتعديل الجدول أو قمت بحذف هذا العمود ؟ يرجى التأكد من تطبيق أخر تعديلات على قاعدة البيانات لديك إذا لم تكن قد طبقت أخر التعديلات. او يمكنك إضافة هذا العمود من خلال الإستعلام التالي ولكن يجب التأكد من أن هذا العمود يجب أن يكون في ذلك الجدول وأن الإستعلام صحيح وليس خاطئ لديك حيث هذا الجدول يحتوي على بيانات قاعدة البيانات وأعتقد انه لا يجب أن يوجد به حقل id . ALTER TABLE _user_groups ADD COLUMN ID INT AUTO_INCREMENT PRIMARY KEY; اقتباس
0 Marwan Elatta نشر منذ 2 ساعة الكاتب أرسل تقرير نشر منذ 2 ساعة بتاريخ 18 دقائق مضت قال محمد عاطف17: لاحظ أن الجدول لا يحوي على أى حقل يسمى ID . هل قمت بتعديل الجدول أو قمت بحذف هذا العمود ؟ يرجى التأكد من تطبيق أخر تعديلات على قاعدة البيانات لديك إذا لم تكن قد طبقت أخر التعديلات. او يمكنك إضافة هذا العمود من خلال الإستعلام التالي ولكن يجب التأكد من أن هذا العمود يجب أن يكون في ذلك الجدول وأن الإستعلام صحيح وليس خاطئ لديك حيث هذا الجدول يحتوي على بيانات قاعدة البيانات وأعتقد انه لا يجب أن يوجد به حقل id . ALTER TABLE _user_groups ADD COLUMN ID INT AUTO_INCREMENT PRIMARY KEY; لم يحدث شيء بعد تطبيق العمود ID مرفق الجدول وملفات class_user.php و class_db.php class_db.php class_user.php 1 اقتباس
0 محمد عاطف17 نشر منذ 2 ساعة أرسل تقرير نشر منذ 2 ساعة بتاريخ 7 دقائق مضت قال Marwan Elatta: لم يحدث شيء بعد تطبيق العمود ID مرفق الجدول وملفات class_user.php و class_db.php class_db.php 10.18 kB · 0 تنزيلات class_user.php 58.05 kB · 0 تنزيلات ما الخطأ الذي يظهر لك الآن من المفترض أن يتم حل الخطأ السابق . اقتباس
0 Marwan Elatta نشر منذ 1 ساعة الكاتب أرسل تقرير نشر منذ 1 ساعة بتاريخ 22 دقائق مضت قال محمد عاطف17: ما الخطأ الذي يظهر لك الآن من المفترض أن يتم حل الخطأ السابق . لا زال الخطأ قائماً اقتباس
0 محمد عاطف17 نشر منذ 1 ساعة أرسل تقرير نشر منذ 1 ساعة بتاريخ 42 دقائق مضت قال Marwan Elatta: لا زال الخطأ قائماً يرجى تنفيذ الأمر التالي وإظهار نتائج الجدول _users لديك. DESCRIBE _users; بعد ذلك يرجى إرفاق رسالة الخطأ الحالية التي تظهر لديك . وفي ملف class_db قبل سطر 94 يرجى طباعة ال query وعدم إستخدام exit وإرفاق أخر رسالة تم عرضها لديك : echo $query; $run = parent::prepare( $query ); اقتباس
السؤال
Marwan Elatta
السلام عليكم
كيف استطيع معرفة الـ ID المقصود
Fatal error: Uncaught mysqli_sql_exception: Unknown column 'ID' in 'where clause' in /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_db.php:95 Stack trace: #0 /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_db.php(95): mysqli->prepare('SELECT * FROM _...') #1 /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_db.php(222): db->prepare('SELECT * FROM _...', true) #2 /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_db.php(126): db->_query(Array) #3 /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_user.php(693): db->_select(Array) #4 /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_user.php(716): user->group_select(Array) #5 /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_user.php(1090): user->get_group_data(5) #6 /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_user.php(635): user->get_access(false) #7 /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_user.php(443): user->get_data(Array) #8 /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_visitor.php(30): user->data(Array) #9 /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_visitor.php(38): visitor->user() #10 /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_loader.php(143): visitor->set_access() #11 /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/loader.php(24): loader->_check_user_request() #12 /home/vol17_1/infinityfree.com/if0_38415802/htdocs/index.php(6): require_once('/home/vol17_1/i...') #13 {main} thrown in /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_db.php on line 95
11 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.