PHP mysqli rollback() Function












❮ مرجع PHP mysqli



مثال - سبک شی گرا


تعهد خودکار را خاموش کنید، چند پرس و جو ایجاد کنید، پرس و جوها را انجام دهید، سپس رول کنید
تراکنش فعلی را برگردانید:




$mysqli = mysqli جدید ("localhost", "my_user", "my_password", "my_db");


اگر ($mysqli -> connect_er
o) {

echo "اتصال به MySQL ناموفق بود: ". $mysqli -> connect_error;

exit();



// غیرفعال کردن خودکار خودکار
$mysqli -> Autocommit(FALSE)؛


// درج چند مقدار
$mysqli -> query("INSERT INTO Persons (FirstName, LastName, Age)

VALUES ('Peter','Griffin',35)")؛

$mysqli -> query ("INSERT INTO Persons (FirstName, LastName, Age)

VALUES ('Glenn','Quagmire',33)")؛


// انجام تراکنش
اگر (!$mysqli -> commit()) {
  echo "Commit"
تراکنش انجام نشد";
  exit();
}

// تراکنش برگشتی

$mysqli -> rollback();

$mysqli -> close();

?>




به نمونه سبک رویه ای در پایین نگاه کنید.





تعریف و استفاده


عملکرد rollback() / mysqli_rollback() تراکنش فعلی را برای اتصال پایگاه داده مشخص شده برمی گرداند.


نکته: همچنین به commit() نگاه کنید.
عملکرد، که تراکنش فعلی را انجام می دهد و
تابع autocommit()
، که تغییرات انجام خودکار پایگاه داده را روشن یا خاموش می کند.





نحو


سبک شی گرا:



$mysqli ->
بازگشت (پرچم‌ها، نام)

سبک رویه:



mysqli_rollback(اتصال، پرچم‌ها، نام)


مقادیر پارامتر



















پارامتر توضیح
اتصال لازم است. اتصال MySQL برای استفاده را مشخص می کند
پرچم ها اختیاری. ثابت:

  • MYSQLI_TRANS_COR_AND_CHAIN ​​- "AND CHAIN" را اضافه می کند

  • MYSQLI_TRANS_COR_AND_NO_CHAIN ​​- "AND NO CHAIN" را اضافه می کند

  • MYSQLI_TRANS_COR_RELEASE - "RELEASE" را اضافه می کند

  • MYSQLI_TRANS_COR_NO_RELEASE - "NO RELEASE" را اضافه می کند


نام اختیاری. اگر این پارامتر باشد ROLLBACK/*name*/ اجرا می‌شود
مشخص شده

جزئیات فنی















مقدار بازگشتی: در مورد موفقیت درست است. FALSE در صورت شکست
نسخه PHP: 5+
تغییر PHP: PHP 5.5: پارامترهای پرچم و name را اضافه کرد





مثال - سبک رویه


تعهد خودکار را خاموش کنید، چند پرس و جو ایجاد کنید، پرس و جوها را انجام دهید، سپس رول کنید
تراکنش فعلی را برگردانید:




$con=mysqli_connect("localhost"، "my_user"، "my_password"، "my_db");


if (mysqli_connect_er
o()) {

echo "اتصال به MySQL ناموفق بود: ". mysqli_connect_error();

خروج؛



// غیرفعال کردن خودکار خودکار
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)) {
  echo
"تعهد تراکنش انجام نشد"؛
  exit();
}

// تراکنش برگشتی
mysqli_rollback($con);

// بستن اتصال

mysqli_close($con);
?>








❮ مرجع PHP mysqli