استشارة حول خطا بكود php

السلام عليكم

اهلا بكل رواد هذه الصفحة الممتعة صراحة شكرا لكم.

لدي مشكل في كود php

حيث انه عندما اعمل connect مع قاعدة البيانات للتاكد من صحة الاسم والباسورد يعطي خطا ويتجاوز الشرط الاول ويمر للشرط الثاني يعني الباسورد والاسم خاطئ ويصبح انه يمكن الدخول باي اسم واي باسورد هذه صورة للمشكل وهي مركبة بين ما يظهر في المتصفح والكود شكرا لكم.

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

التعليقات

جرب وضع mysq_num_rows($sql) بين قوسين او ضعها لوحدها في متغير ثم ضع المتغير في الشرط

مشكور اخي على مرورك الطيب ساجرب ما اخبرتني به اشكرك

كحل اولا اخبرتني ان اضعها بين قوسين بالفعل هي كذلك

بالنسبة للحل الثاني لم افهم كيف اخي اضعها ممكن تفسر لك اكثر للتو بدات اتعامل مع php

اخي السلام عليكم

اولاً : لماذا لا تستخدم PDO للتعامل مع قاعدة البيانات و ذلك لانه يساعدك في منع ثغرة حقن sql .

ثانياً :

يمكنك استخدام الشيفرة التاليه للتأكد من ان المستخدم صحيح بدون ان تتعامل مع msql_num_rows كالتالي :

SELECT COUNT(id) as count FROM users WHERE username='$this->username' AND password='$this->passwrod'

ثم تتأكد ان قيمة count اكبر من الصفر . هكذا لن تتعامل مع mysql مرتين من php .

اولاً : لماذا لا تستخدم PDO للتعامل مع قاعدة البيانات و ذلك لانه يساعدك في منع ثغرة حقن sql .

ما المشكلة في Mysqli الم تسمع بدالة mysqli::real_string_escape من قبل ؟

اهلا اخي لم اسمع بها من قبل هذه الدالة..؟؟ما دورها

للتو بدات اتعامل مع قواعد البيانات

هي تسمح للزائر او المستخدم ادخال اكواد sql مثلا لحذف او تعديل بعض الحقول اقراء عنها

مثال موضوع اتذكر اني كتبته اذا تريد تامين جميع المدخلات دفعة واحدة

اتمني لك التوفيق فيما تعمل

بارك الله فيك اخي على التوضيح والمقالة مشكور بارك الله فيك

اخي موضوع (PDO مقابل MySQLi) جديد بالكليه لنتناقش عليه داخل تعليق بسيط .

لما تتهرب ؟ هل يمكنك ان تقول لي لماذا تستخدم PDO وليس MySQLi اذا كنت لن تعمل علي قاعدة بيانات غير mysql ؟

انا اسألك لماذا mysqli مفضله في هذه الحاله على pdo ؟

انا لم اقل هذا اطلاقا لاكن انت من قلت pdo افضل

ذلك لانه يساعدك في منع ثغرة حقن sql .

!!!!!

اخي هو يستخدم mysql_* function و ليس mysqli_* function ، لذلك فضلت له PDO . و ليس لدي عامةً مشكله مع mysqli ولكن PDO عامةً افضل من MySQLi

لماذا اذ تقصد البرمجة الكائنية ايضا يوجد كلاسس mysqli

من وجهة نظري صعب ان اناقش المسالة لان ليس لي دراية PDO فقط لدية فكرة بسيطة عنها شكرا لكم

PDO هي اداءة للتعامل مع قواعد البيانات الفرق بينها وبين MySQLi انها تتعامل مع كثير من محركات قواعد البيانات غير mysql بدون تغير الكود

معك حق بالفعل اخي شكرا لك

-2

مشكور اخي الكريم على الحلول القيمة ساحاول التعامل بشالكل الذي اخبرتني به وساجرب الشيفرة شكرا لك

احذف > 0 لانها عبارة عن بولين يعني ترو اور فولس :)

مشكور اخي تم حل الاشكال مسبقا ان المشكل في الاستعلام