آموزش MySQL > مرجع توابع MySQL > تابع ( ) mysqli_affected_rows

تابع ( ) mysqli_affected_rows :

تابع ( ) mysqli_affected_rows ، تعداد سطرها ( رکوردهایی ) که در دستور قبلی SELECT, INSERT, UPDATE, DELETE یا ... برنامه ، عملیاتی بر روی آنها انجام گرفته است را بر می گرداند .
برای مثال ، فرض کنید که در یک دستور DELETE در یک Query ، تعیین می کنید تا رکورد افرادی که مقدار فیلد سن ( Age ) آنها ، از 30 بیشتر است ، حذف شوند .
برنامه این دستور را اجرا کرده و اطلاعات رکوردهای تعیین شده را حذف می کند . با به کار بردن تابع ( ) mysqli_affected_rows ، بلافاصله بعد از دستور DELETE می توانید بفهمید که چه تعداد رکورد از جدول حذف شده است .
نکته : خروجی این تابع یک مقدار Integer یا عددی بزرگتر از صفر خواهد بود .
شکل کلی استفاده از این تابع به صورت زیر است :

syntax mysqli_affected_rows( connection ) ;

syntax توضیح هر یک از موارد
توضیح پارامتر
این پارامتر ارتباط ( connection ) که در Query مورد استفاده قرار گرفته است را تعیین می کند .
استفاده از این پارامتر اجباری است .
connection

مثال عملی :

مثال : در مثال زیر به صورت عملی استفاده از تابع ( ) mysqli_affected_rows را نمایش داده ایم .
در این مثال ابتدا یک دستور SELECT اجرا شده و اطلاعات تمامی رکوردهای جدول را نمایش داده است . سپس به وسیله یک تابع ( ) mysqli_affected_rows ، تعداد رکوردهای جدول را که در دستور SELECT استخراج شده اند ، را نمایش داده ایم .
در دستور دوم توسط یک دستور DELETE رکوردهای افرادی که مقدار فیلد سن ( Age ) آنها از 30 بیشتر است را از جدول پاک نموده ایم . مجددا با به کار بردن یک دستور تابع ( ) mysqli_affected_rows ، در خروجی تعداد رکوردهای حذف شده توسط دستور DELETE را نشان داده ایم :

مثال < ? php
   $con=mysqli_connect("localhost","my_user","my_password","my_db");   //    اتصال به پایگاه داده
   if (mysqli_connect_errno($con))   //  صدور پیام خطا در صورت عدم موفقیت در ارتباط
      {
         echo "Failed to connect to MySQL: " . mysqli_connect_error();
      }

   // SELECT اجرای یک دستور
   mysqli_query($con,"SELECT * FROM Persons");
   // سپس تعیین تعداد رکوردهایی که در دستور فوق بوده اند
   echo "Affected rows: " . mysqli_affected_rows($con);

   // DELETE اجرای یک دستور
   mysqli_query($con,"DELETE FROM Persons WHERE Age>30");
   // سپس تعیین تعداد رکوردهایی که در دستور فوق بوده اند
   echo "Affected rows: " . mysqli_affected_rows($con);

   mysqli_close($con); // بستن ارتباط با پایگاه داده
? >
خروجی فرضی 120
16


راجع این مطلب سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...         >>>>>  ورود به انجمن تخصصی


نظر خودتان درباره این صفحه را با ما در میان بگذارید :

آیا مطالب این صفحه برای شما مناسب و مفید بوده است :

نام :               
آدرس Email :  

نظر شما :  

سوال امنیتی : پایتخت ایران ؟