• 0

الاستعلام بجمله شرطيه من mysql

لدي استفسار لوتكرمتو 

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

بمعنى انا لدي الجدول التالي :

conversation table : 

--------------------------------------------------------------
id |topic_id   | user_send_id |  user_Received_id| topic
---------------------------------------------------------------
1  |    325     |   2          | 2                | مرحبا لدى عدة اسئله على هذا الموضوع
---------------------------------------------------------------
2  |    325     |   1          | 2                | مرحبا اخى الكريم هل لديك وقت كافى  
  ---------------------------------------------------------------
3  |    325     |   2          | 1                | هل نستطيع التحدث في وقت مختلف
---------------------------------------------------------------
4  |    325     |   2          | 1                |   انا مشغول الان  

 

الجدول عباره عن محادثه بين مستخدمين مختلفين  وكل مستخدم يمتلك id  منفرد له ما ارغب القيام به هو اذا كان user_send_id مساوي لـ user_received_id  لا ترجعهم الى مع وجود شرط مختلف والى هو 

wehere user_Received_id =?

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

 

الكود حاليا يعمل كالتالي وهو يجلب لي سجلات محدده ولكن الان حتى المتشابه في الـ id  يجلبهم  محتاج اضافة شرط اضافي ولكني لا اعلم كيف يمكن عمل ذلك

<?php


include 'con.php';


 	 $user_Received_id= $_GET["user_Received_id"];

$sql = "SELECT  * FROM  conversation WHERE user_Received_id = ?";

$stmt = $con->prepare($sql); 

$stmt->bind_param("s",$user_Received_id);

$stmt->execute();

$result = $stmt->get_result();

 
//$result = $con->query($sql);
 
if ($result) {
 
 
	 while($row[] = $result->fetch_assoc()) {
	 
	 $item = $row;
	 
	 $json = json_encode($item, JSON_NUMERIC_CHECK);
	 
	 }
 
} else {
  
   echo "No Data Found.";
}
 echo $json;
$con->close();

?>

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 1

يمكن إضافة شرط أن ال user_received_id  لا يساوي user_send_id 

تكون جملة ال query كالتالي

$sql = "SELECT  * FROM  conversation WHERE  user_send_id != user_Received_id and user_Received_id = ?";

 

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 1

جزانا وإياكم خير الجزاء 

عند استخدام ال Prepared statements لا يوجد خظر الحقن لأن سيرفر الداتا بيز يقوم بفحص ال paramaters المرسله مع ال query فلا يوجد حقن

الحقن يكون في حالة أنه لم تستخدم ال  Prepared statements و bind parmaters 

مثلا في هذه الحالة


$user_Received_id= $_GET["user_Received_id"];

$sql = "SELECT  * FROM  conversation WHERE user_Received_id = $user_Received_id";
 
$result = $con->query($sql);

 

تمّ تعديل بواسطة محمد صقر3
1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 1

"SELECT * FROM conversation WHERE user_send_id != user_Received_id and user_Received_id = ?";

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0
بتاريخ 11 دقائق مضت قال محمد صقر3:

يمكن إضافة شرط أن ال user_received_id  لا يساوي user_send_id 

تكون جملة ال query كالتالي


$sql = "SELECT  * FROM  conversation WHERE  user_send_id != user_Received_id and user_Received_id = ?";

 

شاكر لك اخي العزيز اول مره استعمل هذا الطريقة معلومه جديده علي 

زادك الله من واسع فضله 

 

استفسار اخير لو تكرمت لما اضع الجمله الشرطيه بهذا الشكل الا يوجد خطر الحقن ؟ 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0
بتاريخ 23 دقائق مضت قال محمد صقر3:

جزانا وإياكم خير الجزاء 

عند استخدام ال Prepared statements لا يوجد خظر الحقن لأن سيرفر الداتا بيز يقوم بفحص ال paramaters المرسله مع ال query فلا يوجد حقن

الحقن يكون في حالة أنه لم تستخدم ال  Prepared statements و bind parmaters 

مثلا في هذه الحالة



$user_Received_id= $_GET["user_Received_id"];

$sql = "SELECT  * FROM  conversation WHERE user_Received_id = $user_Received_id";
 
$result = $con->query($sql);

 

شاكر لك اخي الكريم

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن