Warning: Supplied argument is not a valid MySQL result resource in c:\apache\htdocs\mol.php on line 160
تحذير يأتي مع هذا الكود
$result=mysql_query (" SELECT * FROM mols WHERE id='$id' ");
while($row=mysql_fetch_array($result)){
Echo $row[id];
}
Warning: Supplied argument is not a valid MySQL result resource in c:\apache\htdocs\mol.php on line 160
تحذير يأتي مع هذا الكود
$result=mysql_query (" SELECT * FROM mols WHERE id='$id' ");
while($row=mysql_fetch_array($result)){
Echo $row[id];
}
احذف هذا الشرط ولاحظ ما يحدث
where id=$id
لكن لابد لي من هذه الشريطة لأني أريد استخلاص بيانات بواسطة هذا
سؤال ثاني: ماسبب حدوث ذلك
بعد حذف الشرطية نفس المشكلة لم تتغير
هل من حل
الخطأ هذه يدل على ان جملة sql التى نفذتها الدالة mysql_query غير صحيحه... ولمعرفة تفصيل الخطأ اكتب
ربما يكون الخطأ ان الجدول mols غير موجود او قيمة $id يوجد بها نصوص لا تقبلها Mysqlكود PHP:
print mysql_error();
__________________
ضيف الله العتيبي مبرمج حر و مهندس معتمد من زيند (ZCE)
الاتصال: daif@daif.net او جوال: 0556639884
الخدمات: تقديم استشارات برمجيه, تطوير بوابات/خدمات إلكترونيه للقطاع العام او الخاص .
أخي daif
الغريب في الأمر أنه عندما أقوم بنقل الاستعلا إلى ملف آخر يتم بنجاح أما في هذا الملف بالذات فلا يعمل وحللت المشكلة بجعل ملف مستقل لهذا الاستعلام
مشكلة حيرتني
على العموم المشكلة انتهت بنقل الاستعلام إلى ملف آخر دون تغييره وتم بنجاح و لا أعلم مالسبب
السلام عليكم
كما ذكر الاخ ضيف , السبب قد لايكون من تركيب الجملة , ولكن قد لايكون هناك حقل بإسم id ,
تأكد من الجدول ووجود حقل id به
__________________
www.abu3amer.com
أخوي ضبط الكود هذا
جربه يمكن الغلطه عندك في برمجه الكود نفسهكود PHP:
Where id='".$id."'
__________________
سبحان الله وبحمده عدد خلقه ورضى نفسه وزنة عرشه ومداد كلماته
أعتقد أن رسالة الخطاء تظهر بسبب أن نتيجة البحث تساوي صفر.
إن لم أكن مخطاء ، فإن السطر رقم 160 هو هذا السطر :
إذا لم يحتوي المتغير $result على أي نتائج تحدث هذه المشكلة ، ولكي تتخلص من رسالة الخطاء يجب أن يكون الكود بالشكل التالي :كود PHP:
while($row=mysql_fetch_array($result)){
يمكن لو أضفت الـ @ ، قبل اوامر mysql تختفي المشكلة :كود PHP:
$result=mysql_query (" SELECT * FROM mols WHERE id='$id' ");
if(@mysql_num_rows($result) > 0){
while($row=mysql_fetch_array($result)){
Echo "$row[id]";
}
}
السؤال الآن لماذا الإستعلام لا يحتوي على بيانات مطابقة ، السبب اما انه لا توجد هنالك بيانات ، أو أنك أخطائت في الكويري ، إطبع الكويري ونفذها عن طريق phpMyAdmin هل تنفذ أم لا ؟كود PHP:
@mysql_query
@mysql_fetch_array
إذا ظهرت رسالة خطاء ، فإن كود الإستعلام يحتوي على خطاء ، وإذا لم تظهر رسالة خطاء ولكن لم تظهر بيانات ، فإن كود الإستعلام صحيح ، ولكن لا توجد بيانات مطابقة للبحث ، واذا ظهرت بيانات ، فقفل الجهاز ، وريح وادع ربك أن الله يهدي البي اتش بي ويقبل تنفيذ الكويري والله يعينك
الغريب أنت تبحث في mols عن مايطابق ID ، يعني الـ ID ليس هو البرايمري كي لجدول mols ، أقترح عليك أن تعيد تسميت الـ ID ، إلى أسم الجدول_ID ، مثلا User_ID ، فقط للتنظيم لا أكثر.