ما سبب هذا الخطا فى الداله Warning: mysql_num_rows

بسم الله الرحمن الرحيم

اريد انا ابرمج نموذج تسجيل الدخول وياتى هذا الخطا واريد معرفه

ما سبب هذا الخطا فى الداله Warning: mysql_num_rows():

وتاتى فى المتصفح هذه الرساله

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource

وجزاكم الله خيرا

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

fares أضف ردا

حسب :

أنت في السطر 36 قمت بالتالي :

$sql=mysql_query("select * from users where username='".$username."'and password='".$password."'" ) or die (mysql_error);

وهذا استعلام ، من دالة mysql_query , ثم كررت العملية في السطر 38 : $query=mysql_query($sql);

ثم قمت بالتالي في سطر 40 : if($num=mysql_num_rows($query)){ والمفترض أن تحذف السطر 38 , وتستبدل : if($num=mysql_num_rows($query)){

بـ : if($num=mysql_num_rows($sql)){

باختصار : احذف السطر 38 , واستبدل البارامتر $query في mysql_num_rows بـ $sql .

وأيضًا يُفضل حماية $_POST بـ mysql_real_escape_string , لتجنب Sql injection .

بالتوفيق :)

شكرا يا استاذ فارس فعلا الخطا راح اخيرا ربنا يكرمك

يبدو ان جملة الـ SELECT خاطأ ولا تسترجع بيانات .

هل يمكنك مشاركتنا الكود ؟

هذا الموضوع قد يفيدك :

  • تأكد بأن الكائن الذي ارسلته للدالة المذكورة هو هو عبارة عن Query Result ويكون عبارة عن العائد من الدالة mysql_query

  • تأكد ان الكائن الذي ارسلته هو صيغة Selection صحيحة لدالة mysql_query

  • تأكد من انك متصل بقاعدة البيانات بشكل صحيح

  • تأكد بأن اسماء الجداول والحقول صحيحة في صيغة Selection

بالنسبه يا استاذ حاتم للاتصال بقاعده البيانات ده متاكد منو

واسماء الجداول بردو متاكد منو

لكن حضرتك ممكن توضحلى يعنى ايه

Selection

و Query Result

hatem87 أضف ردا
  • صيغة Selection هي صيغة او استعلام SQL الذي يبدأ بكلمة SELECT والغرض منه استرجاع مجموعة معينة من السجلات.

  • Query Result هي ناتج عملية الاستعلام

    $queryResult = mysql_query("select * from students");

    $rowsNumber = mysql_num_rows($queryResult);

ايوه اها انا بالفعل عامل كده وده الكود اهو

الله يحفظك انقل الكود هنا :

واظبط المسافات البادئة وسأقوم بمعاينته وفحصه لك من عيوني.

ربنا يكرمك يا استاذ حاتم وده الكود اهو للصفحه البى اتش بى وصفحه html كمان

hatem87 أضف ردا

أخي الكريم : لا الاحظ انك اتصلت بقاعدة البيانات اصلا. بل لم تجري اتصال اساسا. قمت بارسال الاستعلام فورا بدون مقبض اتصال. عندما تريد الاتصال بصديقك على هاتفه يجب ان تتأكد من وجود اتصال بالشبكة الخاصة بالمشغل كذلك قاعدة البيانات.

ثم انك تستخدم طريقة قديمة لم تعد فاعلة , بل يجب استخدام محرك mysqli:

  • هذه طريقة الاتصال بقاعدة البيانات وضعه في بداية ملف PHP وقم باستبدال المتغيرات بالقيم الصحيحة لسرفر قاعدة البيانات واسم مستخدم القاعدة وكلمة السر :

    $conn = mysqli_connect($servername, $username, $password);

  • و بقية الكود قم فقط بتغيير mysql_query إلى mysqli_query وايضا قم بتغيير mysql_num_rows إلى mysql_num_rows.

انا عامل انكلود لملف الاتصال بقاعده البيانات

الى هو 

include 'Contact.php';

قم بإجراء التغيير اللازم باستخدام المحرك الذي اخبرتك عنه. واذا استمر الأمر , عد الى هنا واخبرنا.

خطأ في المدخلات

كما انصحك باستعمال mysqli لان mysql قديمة جدا

-1

تمام مع حضرتك فى الكلام ده بس هل ياترى mysqli محتاجه وقت عشان اتعلم التعديلات والتغيرات بتاعتها ولا هى مجرد تعديلات بسطيه للتسهيل

تعديلات جد بسيطة

في ساعة تفهم جميع التعديلات

اها تمام

حسوب I/O هو مجتمع عربي، رجاءً شارك باللغة العربية الفصحى فقط

الإخوة لم يقصروا في الإجابة عن سؤالك .. لكن أنصحك بشدة إستخدام Mysqli أو PDO وأفضل الأخيرة. بالتوفيق