اذهب إلى المحتوى

السؤال

Recommended Posts

  • 1
نشر

يمكنك حل المشكلة عن طريق الكود التالي، هذا مثال عن إضافة مستخدم ما لقاعدة البيانات:

<?php
	// ربطنا قاعدة البيانات
    $link = mysql_connect("localhost", "username", "password");
    mysql_select_db("database_name", $link);
	
	// قمنا بتحديد البيانات
    $result = mysql_query("SELECT * FROM TABLE_NAME", $link);
	// نأتي بعدد الأسطر
    $num_rows = mysql_num_rows($result);
	// $_SESSION["lastcount"] نختبر فيما إذا كنا قد عرفنا متحول الجلسة أم لا سنعرفه لاحقاً
    if(!isset($_SESSION["lastcount"])) {
      	// $check إذا كنا لم نعرفه بعد نضع عدد الأسطر ضمنه وضمن المتحول 
      	// لمعرفة إن كان قد زاد عدد الأسطر $num_rows مع عدد الأسطر $check لأننا سنقارن لاحقا بالعدد 
      	// يحوي عدد الأسطر القديم $check فيكون المتحول
        $check = $_SESSION['lastcount'] = $num_rows;
    } else {
      	// $check إذا كنا قد عرفناه نضع قيمته ضمن ال
      	// هذا الرقم سيكون عدد الأسطر القديم
        $check = $_SESSION['lastcount'];
    }
    echo $num_rows;
     if($num_rows > $check ) {
       // إذا زادت الأسطر سيتحقق الشرط وينفذ الكود
       // الآن سنعيد إسناد قيمة عدد الأسطر الجديدة لكل من المتحولين
        $check = $_SESSION['lastcount'] = $num_rows;
        echo "تم زيادة عدد الأسطر وإضافة مستخدم";
     } else {
        echo "لا يوجد زيادة في عدد الأسطر";
     }
 ?>

 

  • 1
نشر

قم بالاستعلام عن العدد الاجمالي للسطور المدرجة ضمن جدول ما، ثم استعمل ذلك في تقييد شيفرة برمجية بشرط ما. 

مثال:


$result = mysql_query('SELECT COUNT(1) FROM target_table');
$num_rows = mysql_result($result, 0, 0);

if($num_rows > 10) { // في حالة تجاوز عدد الصفوف لهذا العدد قم بداخل الشرط

}

 

  • 1
نشر

يمكن فهم سؤال، كيف أختبر نجاح عملية إضافة بيانات لقاعدة البيانات، أي نجاح تنفيذ insert 

  • إن تنفيذ استعلام insert يعيد قيمة true في حال نجاح تنفيذه يمكن اختبارها ضمن شرط
if(mysqli_query($conn, "INSERT INTO ..."){
	echo 'success';
}else {
	echo 'error.. The error is '. mysqli_error($conn);
}

للتوضيح يمكننا تخزين النتيجة في متغير ثم اختباره ليكون واضح"

<?php
$result = mysql_query("INSERT INTO USERS (NAME ) VALUES ('WAEL')"));

if($result){
  echo "Success";
}else{
  echo "Error";
}

يمكن تطبيق الدالة mysqli_affected_rows على كائن الاتصال بعد تنفيذ أمر insert ويعطينا عدد الأسطر المتأثرة ضمن الجدول وبذلك إن كان عددهم 0 يكون لم يحصل إضافة

$number_of_rows_affected = mysqli_affected_rows($conn);

وفي حال كنت تستخدم PDO يمكن التحقق من قيمة تنفيذ الدالة excute

$sql = 'INSERT INTO user (ID, name) VALUES(?, ?)';

if ($stmt->prepare($sql)) {
    $stmt->bind_param('is', 1, 'wael');

    if ($stmt->execute()) {
        $success = TRUE;   // نجاح الإضافة
    }
}

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...