Seyid Ahmed Khessam نشر 29 سبتمبر 2021 أرسل تقرير نشر 29 سبتمبر 2021 السلام عليكم ورحمة الله تعالى وبركاته ..♥ اواجه مشكلة منطقية عند تنفيد الاستعلام وتمرير where class columnSelect{ private $serName = 'localhost'; private $dabName = 'users'; private $usrName = 'root'; private $usrPass = ''; public function columnSelectFun($table, $email, $password, $mailTable, $passTable){ try{ $con = new PDO("mysql:host=$this->serName;dbname=$this->dabName", $this->usrName, $this->usrPass); $con ->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $con->prepare("SELECT * FROM $table WHERE $mailTable = :email"); $stmt->bindParam(':email', $email); $stmt->execute(); $con = null; $stmt->setFetchMode(PDO::FETCH_ASSOC); $stmt = $stmt->fetchAll(); foreach($stmt as $key => $val){ if($val[$mailTable] == $email){ if($val[$passTable] == $password){ return 'u are welcome'; }else{return 'your password is not correct';} }else{return 'your email is not correct';} } }catch(PDOException $e){ return $e->getMessage(); } } } if(isset($_POST["submit"])){ $email = $_POST["email"]; $password = md5($_POST["password"]); $obSelect = new columnSelect(); echo $obSelect ->columnSelectFun('data', $email, $password, 'email', 'password'); } بحيث انه ادا ماتم ادخال بريد الكتروني غير موجود في الجدول لن يتم تحديد البيانات واستدعائها ;وبتالي شرط التحقق if($val[$mailTable] == $email){ } لايعمل لان البيانات لم تستدعى, لانه لايوجد صف فيه بريد الكتروني مطابق المطلوب اريد طريقة تمكنني من التاكد من ان هناك بريد الكتروني في الجدول في قاعدة البيانات مطابق لما ادخله العميل دون ازالة الامر where من الاستعلام 1 اقتباس
0 بلال زيادة نشر 29 سبتمبر 2021 أرسل تقرير نشر 29 سبتمبر 2021 سوف تقوم بالتأكد من قيمة المتغير التالي $val[$mailTable] بحيث إذا يحتوي على قيمة ( بريد الكتروني ) قم بتنفيذ الاستعلام الذي تريده ، أما إذا كان فارغ ( لا يحتوي على بريد الكتروني ) يمكنك تنفيذ أو إظهار رسالة خطأ تفيد بأنه لا يوجد أي بريد الكتروني if($val[$mailTable]){ // تنفيذ الاستعلام } else { // إظهار رسالة خطأ } 1 اقتباس
0 Seyid Ahmed Khessam نشر 29 سبتمبر 2021 الكاتب أرسل تقرير نشر 29 سبتمبر 2021 (معدل) بتاريخ 5 دقائق مضت قال بلال زيادة: سوف تقوم بالتأكد من قيمة المتغير التالي $val[$mailTable] بحيث إذا يحتوي على قيمة ( بريد الكتروني ) قم بتنفيذ الاستعلام الذي تريده ، أما إذا كان فارغ ( لا يحتوي على بريد الكتروني ) يمكنك تنفيذ أو إظهار رسالة خطأ تفيد بأنه لا يوجد أي بريد الكتروني if($val[$mailTable]){ // تنفيذ الاستعلام } else { // إظهار رسالة خطأ } المشكل حتى لو انه يحمل قيمة لكنها غير الموجودة في الجدول لن يتحقق الاستعلام لان الامر where يقوم بجلب البيانات الا في حال ادا كانت القيمة الممررة اليه موجودة في الجدول تم التعديل في 29 سبتمبر 2021 بواسطة Seyid Ahmed Khessam 1 اقتباس
0 بلال زيادة نشر 29 سبتمبر 2021 أرسل تقرير نشر 29 سبتمبر 2021 بتاريخ 6 دقائق مضت قال Seyid Ahmed Khessam: المشكل حتى لو انه يحمل قيمة لكنها غير الموجودة في الجدول لن يتحقق الاستعلام لان الامر where يقوم بجل البيانات الا في حال ادا كانت القيمة الممررة اليه موجودة في الجدول الأن في الإجابة السابقة الخاصة بي , يقوم بالتحقق من أن المتغير يحمل بريد الكتروني أو لا , يعني اذا كان يوجد بريد الكتروني مطابق لما تبحث عنه سيقوم بارجاع البيانات هذا ما قصدته , ماذا تقصد انت . 1 اقتباس
السؤال
Seyid Ahmed Khessam
السلام عليكم ورحمة الله تعالى وبركاته ..♥
اواجه مشكلة منطقية عند تنفيد الاستعلام وتمرير where
بحيث انه ادا ماتم ادخال بريد الكتروني غير موجود في الجدول لن يتم تحديد البيانات واستدعائها ;وبتالي شرط التحقق
لايعمل لان البيانات لم تستدعى, لانه لايوجد صف فيه بريد الكتروني مطابق
المطلوب اريد طريقة تمكنني من التاكد من ان هناك بريد الكتروني في الجدول في قاعدة البيانات مطابق لما ادخله العميل دون ازالة الامر where من الاستعلام
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.