آموزش MySQL > مرجع توابع MySQL > تابع ( ) mysqli_autocommit
تابع ( ) mysqli_autocommit :
تابع ( ) mysqli_autocommit ، وضعیت Auto Commit را در اجرای دستورات یک ارتباط با
پایگاه داده ( Connection ) ، روش یا خاموش می کند .
در حالت پیش فرض ، این امکان فعال است .
Auto Commit در دستورات یعنی چه ؟
در ارتباط با پایگاه داده تمام فعاليتهاي كاربر در قالب تراكنشها انجام مي شود. در
صورتي كه در MySQL پارامتر autocommit فعال شده باشد، هر دستور SQL يك تراكنش
را تشكيل ميدهد. به عبارت دیگر ، هر دستور در یک فاز اجرا شده و با پایان یافتن آن
دستور فاز آن نیز پایان می یابد .
مقدار پيشفرض autocommit در آغاز يك ارتباط با پايگاه داده 1 است. اگر كاربر
متغير autocommit را با دستور SET autocommit=0 غير فعال نمايد, ميتوان اين طور در
نظر گرفت كه كاربر هميشه يك تراكنش فعال (و باز) در اختيار دارد ، كه با رسيدن به جمله
COMMIT يا ROLLBACK خاتمه مييابد و تراكنش بعد آغاز مي گردد. هر دو دستور فوق تمام
قفلهايي كه طي تراكنش مذكور بر روي دادههاي مختلف قرار داده شداند را رها ميكند.
دستور COMMIT تغييرات انجام شده توسط يك تراكنش را دائمي ميكند. بالعكس، دستورRollback
تمام تغييراتي كه يك تراكنش در طول مدت اجراي خود بوجود آورده است را برميگرداند.
اگر در ارتباطي AUTOCOMMIT=1 باشد، كماكان ميتوان از دستور BEGIN براي آغاز يك تراكنش
چند جملهاي و دستورCOMMIT يا ROLLBACK براي خاتمه به آن استفاده كند.
شکل کلی استفاده از این تابع به صورت زیر است :
|
syntax
|
mysqli_autocommit( connection , mode ) ;
|
|
توضیح
|
این پارامتر ارتباط ( connection ) که در Query مورد استفاده قرار گرفته است را تعیین
می کند .
استفاده از این پارامتر اجباری است .
|
این پارامتر تعیین می کند که آیا پارامتر autocommit در Query جاری فعال باشد یا خیر
. مقدار پیش فرض آن 1 یا true است .
این پارامتر می تواند مقدار true برای فعال بودن و مقدار false را برای غیر فعال بودن
داشته باشد .
استفاده از این پارامتر اختیاری است .
|
مثال عملی :
مثال : در مثال زیر به صورت عملی استفاده از تابع ( ) mysqli_autocommit
را نمایش داده ایم .
در این مثال در نقطه ای از Query مقدار پارامتر autocommit را غیر فعال کرده ایم .
بنابراین تراکنش اجرای دستورهای بعدی MySQL تا رسیدن به یک دستور مثل تابع ( ) mysqli_autocommit
، باز بوده و یک بلوک را تشکیل می دهد .
|
مثال
|
< ? 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();
}
// autocommit غیر فعال کردن پارامتر
mysqli_autocommit($con,FALSE);
// وارد نمودن چند مقدار جدید
mysqli_query($con,"INSERT INTO Persons (FirstName,LastName,Age)
VALUES ('Peter','Griffin',35)");
mysqli_query($con,"INSERT INTO Persons (FirstName,LastName,Age)
VALUES ('Glenn','Quagmire',33)");
// بستن تراکنش جاری
mysqli_commit($con);
mysqli_close($con); // بستن ارتباط با پایگاه داده
? >
|
راجع این مطلب
سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...
>>>>> ورود به انجمن تخصصی
نظر خودتان درباره این صفحه را با ما در میان بگذارید :