Marwan Elatta نشر منذ 20 ساعة أرسل تقرير نشر منذ 20 ساعة السلام عليكم كيف استطيع معرفة الـ 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 نشر منذ 20 ساعة أرسل تقرير نشر منذ 20 ساعة لاحظ الخطأ يخبرك أنه موجود في ملف app/core/class_db.php في سطر رقم 95 . حيث أنك هنا تستخدم في الإستعلام العمود ID في جملة الإستعلام where حيث يبدوا انك تقوم بالبحث من خلال العمود ID . ويبدوا أنك لا تقوم بوضع العمود ID في جملة select لهذا لا يتعرف على العمود ID في إستعلام where . لذلك تأكد من إختيار العمود ID في جملة select والتأكد من إسم العمود الصحيح. يمكنك إرفاق الإستعلام كاملا الموجود في سطر 95 لمساعدتك بشكل أفضل. اقتباس
0 Marwan Elatta نشر منذ 20 ساعة الكاتب أرسل تقرير نشر منذ 20 ساعة السطر 95 يحتوي على: ;$run = parent::prepare( $query)$ المشكلة أنني لم أستطع معرفةالعمود المقصود في قاعدة البيانات 1 اقتباس
0 Mustafa Suleiman نشر منذ 19 ساعة أرسل تقرير نشر منذ 19 ساعة بتاريخ 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 نشر منذ 19 ساعة الكاتب أرسل تقرير نشر منذ 19 ساعة بتاريخ 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 نشر منذ 7 ساعة أرسل تقرير نشر منذ 7 ساعة بتاريخ 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 نشر منذ 6 ساعة الكاتب أرسل تقرير نشر منذ 6 ساعة بتاريخ 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 نشر منذ 5 ساعة أرسل تقرير نشر منذ 5 ساعة بتاريخ 12 دقائق مضت قال Marwan Elatta: هنا الجدول المقصود لاحظ أن الجدول لا يحوي على أى حقل يسمى ID . هل قمت بتعديل الجدول أو قمت بحذف هذا العمود ؟ يرجى التأكد من تطبيق أخر تعديلات على قاعدة البيانات لديك إذا لم تكن قد طبقت أخر التعديلات. او يمكنك إضافة هذا العمود من خلال الإستعلام التالي ولكن يجب التأكد من أن هذا العمود يجب أن يكون في ذلك الجدول وأن الإستعلام صحيح وليس خاطئ لديك حيث هذا الجدول يحتوي على بيانات قاعدة البيانات وأعتقد انه لا يجب أن يوجد به حقل id . ALTER TABLE _user_groups ADD COLUMN ID INT AUTO_INCREMENT PRIMARY KEY; اقتباس
0 Marwan Elatta نشر منذ 5 ساعة الكاتب أرسل تقرير نشر منذ 5 ساعة بتاريخ 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 نشر منذ 5 ساعة أرسل تقرير نشر منذ 5 ساعة بتاريخ 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 نشر منذ 5 ساعة الكاتب أرسل تقرير نشر منذ 5 ساعة بتاريخ 22 دقائق مضت قال محمد عاطف17: ما الخطأ الذي يظهر لك الآن من المفترض أن يتم حل الخطأ السابق . لا زال الخطأ قائماً اقتباس
0 محمد عاطف17 نشر منذ 4 ساعة أرسل تقرير نشر منذ 4 ساعة بتاريخ 42 دقائق مضت قال Marwan Elatta: لا زال الخطأ قائماً يرجى تنفيذ الأمر التالي وإظهار نتائج الجدول _users لديك. DESCRIBE _users; بعد ذلك يرجى إرفاق رسالة الخطأ الحالية التي تظهر لديك . وفي ملف class_db قبل سطر 94 يرجى طباعة ال query وعدم إستخدام exit وإرفاق أخر رسالة تم عرضها لديك : echo $query; $run = parent::prepare( $query ); اقتباس
0 Marwan Elatta نشر منذ 2 ساعة الكاتب أرسل تقرير نشر منذ 2 ساعة بتاريخ 1 ساعة قال محمد عاطف17: يرجى تنفيذ الأمر التالي وإظهار نتائج الجدول _users لديك. DESCRIBE _users; بعد ذلك يرجى إرفاق رسالة الخطأ الحالية التي تظهر لديك . وفي ملف class_db قبل سطر 94 يرجى طباعة ال query وعدم إستخدام exit وإرفاق أخر رسالة تم عرضها لديك : echo $query; $run = parent::prepare( $query ); ;DESCRIBE_users ID int(7) NO NULL GID int(2) NO NULL usernamevarchar(50)NONULL namevarchar(60)YESNULL passwordvarchar(60)NONULL emailvarchar(150)NONULL external_addressestextYESNULL avatartinytextYESNULL bg_imgtinytextYESNULL artistint(9)YESNULL artist_codevarchar(30)YESNULL verifiedint(1)YES0 verify_codevarchar(9)YESNULL fundfloatYES0 fund_totalfloatYES0 fund_revenuefloatYES0 followersint(11)YES0 followingsint(5)YES0 likesint(7)YES0 repostsint(7)YES0 commentsint(6)YES0 comments_likesint(6)YES0 comments_repliedint(6)YES0 media_commentsint(7)YES0 media_likesint(7)YES0 media_uploadsint(6)YES0 playlistsint(5)YES0 playlists_likesint(7)YES0 playlists_followersint(7)YES0 feed_settingtinytextYESNULL not_settingtinytextYESNULL email_settingtinytextYESNULL time_addtimestampYEScurrent_timestamp() time_verifytimestampYESNULL time_verify_trytimestampYESNULL time_paid_expiretimestampYESNULL time_notifiedtimestampYESNULL بتاريخ 1 ساعة قال محمد عاطف17: يرجى تنفيذ الأمر التالي وإظهار نتائج الجدول _users لديك. DESCRIBE _users; بعد ذلك يرجى إرفاق رسالة الخطأ الحالية التي تظهر لديك . وفي ملف class_db قبل سطر 94 يرجى طباعة ال query وعدم إستخدام exit وإرفاق أخر رسالة تم عرضها لديك : echo $query; $run = parent::prepare( $query ); رسالة الخطأ الحالية SELECT * FROM _user_groups WHERE `ID` = ? ORDER BY ID ASC LIMIT 0, 1 بتاريخ 1 ساعة قال محمد عاطف17: يرجى تنفيذ الأمر التالي وإظهار نتائج الجدول _users لديك. DESCRIBE _users; بعد ذلك يرجى إرفاق رسالة الخطأ الحالية التي تظهر لديك . وفي ملف class_db قبل سطر 94 يرجى طباعة ال query وعدم إستخدام exit وإرفاق أخر رسالة تم عرضها لديك : echo $query; $run = parent::prepare( $query ); بعد طباعة الquery بدون exit ظهرت الرسالة التالية: SELECT * FROM _user_groups WHERE `ID` = ? ORDER BY ID ASC LIMIT 0, 1 Warning: foreach() argument must be of type array|object, bool given in /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_user.php on line 1091 Warning: Trying to access array offset on value of type bool in /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_user.php on line 1100 Warning: Undefined array key "admin" in /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_user.php on line 456 Warning: Trying to access array offset on value of type bool in /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_user.php on line 459 SELECT * FROM _setting_admin WHERE `var` = ? LIMIT 0, 1 بتاريخ 5 دقائق مضت قال Marwan Elatta: ;DESCRIBE_users ID int(7) NO NULL GID int(2) NO NULL usernamevarchar(50)NONULL namevarchar(60)YESNULL passwordvarchar(60)NONULL emailvarchar(150)NONULL external_addressestextYESNULL avatartinytextYESNULL bg_imgtinytextYESNULL artistint(9)YESNULL artist_codevarchar(30)YESNULL verifiedint(1)YES0 verify_codevarchar(9)YESNULL fundfloatYES0 fund_totalfloatYES0 fund_revenuefloatYES0 followersint(11)YES0 followingsint(5)YES0 likesint(7)YES0 repostsint(7)YES0 commentsint(6)YES0 comments_likesint(6)YES0 comments_repliedint(6)YES0 media_commentsint(7)YES0 media_likesint(7)YES0 media_uploadsint(6)YES0 playlistsint(5)YES0 playlists_likesint(7)YES0 playlists_followersint(7)YES0 feed_settingtinytextYESNULL not_settingtinytextYESNULL email_settingtinytextYESNULL time_addtimestampYEScurrent_timestamp() time_verifytimestampYESNULL time_verify_trytimestampYESNULL time_paid_expiretimestampYESNULL time_notifiedtimestampYESNULL رسالة الخطأ الحالية SELECT * FROM _user_groups WHERE `ID` = ? ORDER BY ID ASC LIMIT 0, 1 بعد طباعة الquery بدون exit ظهرت الرسالة التالية: SELECT * FROM _user_groups WHERE `ID` = ? ORDER BY ID ASC LIMIT 0, 1 Warning: foreach() argument must be of type array|object, bool given in /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_user.php on line 1091 Warning: Trying to access array offset on value of type bool in /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_user.php on line 1100 Warning: Undefined array key "admin" in /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_user.php on line 456 Warning: Trying to access array offset on value of type bool in /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_user.php on line 459 SELECT * FROM _setting_admin WHERE `var` = ? LIMIT 0, 1 الأسطر المذكورة في الخطأ تحتوي على التالي: {1091foreach( $group_data as $_gp_k => $_gp_v ) {1100if ( $group == $ID && $group_data["admin_access"] ) ;456$this->group_admin = $this->data["admin"] ;459$this->group_ID = $this->data["group_data"]["ID"] اقتباس
0 محمد عاطف17 نشر منذ 1 ساعة أرسل تقرير نشر منذ 1 ساعة بتاريخ 25 دقائق مضت قال Marwan Elatta: SELECT * FROM _user_groups WHERE `ID` = ? ORDER BY ID ASC LIMIT 0, 1 Warning: foreach() argument must be of type array|object, bool given in /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_user.php on line 1091 Warning: Trying to access array offset on value of type bool in /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_user.php on line 1100 Warning: Undefined array key "admin" in /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_user.php on line 456 Warning: Trying to access array offset on value of type bool in /home/vol17_1/infinityfree.com/if0_38415802/htdocs/app/core/class_user.php on line 459 SELECT * FROM _setting_admin WHERE `var` = ? LIMIT 0, 1 لاحظ أن المشكلة قد تم حلها ولا يوجد أى خطأ . والذي يظهر لك فقط تحذيرات وذلك لأنك تحاول إستخدام foreach على متغير من نوع boolean أى true أو false ويمكنك تجاهل هذا التحذير . حاليا لا توجد مشكلة فقد تم حل المشكلة التي في سؤالك. اقتباس
0 Marwan Elatta نشر منذ 1 ساعة الكاتب أرسل تقرير نشر منذ 1 ساعة بتاريخ 1 دقيقة مضت قال محمد عاطف17: لاحظ أن المشكلة قد تم حلها ولا يوجد أى خطأ . والذي يظهر لك فقط تحذيرات وذلك لأنك تحاول إستخدام foreach على متغير من نوع boolean أى true أو false ويمكنك تجاهل هذا التحذير . حاليا لا توجد مشكلة فقد تم حل المشكلة التي في سؤالك. لكن لا زال الموقع لا يفتح ويعطي نفس الرسالة الاخيرة بتاريخ الآن قال Marwan Elatta: لكن لا زال الموقع لا يفتح ويعطي نفس الرسالة الاخيرة كيف استطيع تجاوز هذه الرسالة اقتباس
السؤال
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
14 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.