PHP mysqli_rollback()関数
例 - オブジェクト指向スタイル
自動コミットをオフにして、いくつかのクエリを作成し、クエリをコミットしてから、現在のトランザクションをロールバックします。
<?php
$mysqli = new mysqli("localhost","my_user","my_password","my_db");
if ($mysqli -> connect_errno) {
echo "Failed to connect to MySQL: " . $mysqli -> connect_error;
exit();
}
// Turn autocommit off
$mysqli -> autocommit(FALSE);
// Insert some values
$mysqli -> query("INSERT INTO Persons (FirstName,LastName,Age)
VALUES ('Peter','Griffin',35)");
$mysqli -> query("INSERT INTO Persons (FirstName,LastName,Age)
VALUES ('Glenn','Quagmire',33)");
// Commit transaction
if (!$mysqli -> commit()) {
echo "Commit transaction failed";
exit();
}
// Rollback transaction
$mysqli -> rollback();
$mysqli -> close();
?>
下部の手続き型スタイルの例を見てください。
定義と使用法
rollback() / mysqli_rollback()関数は、指定されたデータベース接続の現在のトランザクションをロールバックします。
ヒント:現在のトランザクションをコミットするcommit()(func_mysqli_commit){.underline}関数と、データベース変更の自動コミットをオンまたはオフにする autocommit()(func_mysqli_autocommit){.underline}関数にも注目してください。
データベース変更の自動コミットをオンまたはオフにします。
構文
オブジェクト指向スタイル:
<div>$mysqli -> rollback(<em>flags, name</em>)</div>
手続き型のスタイル:
<div>mysqli_rollback(<em>connection, flags, name</em>)</div>
パラメータ値
パラメータ |
説明 |
---|---|
connection | Required 使用するMySQL接続を指定します |
flags | Optional 定数:
|
name | Optional このパラメータが指定されている場合にROLLBACK/*name*/が実行されます |
Technical Details
Return Value: | 成功した場合はTRUE。失敗した場合はFALSE |
---|---|
PHP バージョン: |
5+ |
PHP 変更ログ: |
PHP 5.5: を追加flagsとnameパラメーター |
例 - 手続き型スタイル
自動コミットをオフにして、いくつかのクエリを作成し、クエリをコミットしてから、現在のトランザクションをロールバックします。
<?php
$con=mysqli_connect("localhost","my_user","my_password","my_db");
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
exit;
}
// Turn autocommit off
mysqli_autocommit($con,FALSE);
// Insert some values
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)");
// Commit transaction
if (!$mysqli_commit($con)) {
echo "Commit transaction failed";
exit();
}
// Rollback transaction
mysqli_rollback($con);
// Close connection
mysqli_close($con);
?>
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。