مثال - سبک شی گرا
تعهد خودکار را خاموش کنید، چند پرس و جو ایجاد کنید، پرس و جوها را انجام دهید، سپس رول کنید
تراکنش فعلی را برگردانید:
$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 برای استفاده را مشخص می کند |
| پرچم ها | اختیاری. ثابت:
|
| نام | اختیاری. اگر این پارامتر باشد 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