mysqli::commit
mysqli_commit
(PHP 5, PHP 7)
mysqli::commit -- mysqli_commit — 現在のトランザクションをコミットする
説明
オブジェクト指向型
mysqli::commit
([ int
$flags
[, string $name
]] ) : bool手続き型
データベース接続の現在のトランザクションをコミットします。
パラメータ
-
link -
手続き型のみ: mysqli_connect() あるいは mysqli_init() が返すリンク ID。
-
flags -
定数
MYSQLI_TRANS_COR_*のビットマスク。 -
name -
指定した場合は、COMMIT/*name*/ を実行します。
返り値
成功した場合に TRUE を、失敗した場合に FALSE を返します。
変更履歴
| バージョン | 説明 |
|---|---|
| 5.5.0 |
flags と name
が追加されました。
|
例
例1 mysqli::commit() の例
オブジェクト指向型
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* 接続をチェックします */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$mysqli->query("CREATE TABLE Language LIKE CountryLanguage");
/* autocommit を off にします */
$mysqli->autocommit(FALSE);
/* データを挿入します */
$mysqli->query("INSERT INTO Language VALUES ('DEU', 'Bavarian', 'F', 11.2)");
$mysqli->query("INSERT INTO Language VALUES ('DEU', 'Swabian', 'F', 9.4)");
/* トランザクションをコミットします */
if (!$mysqli->commit()) {
print("Transaction commit failed\n");
exit();
}
/* テーブルを削除します */
$mysqli->query("DROP TABLE Language");
/* 接続を閉じます */
$mysqli->close();
?>
手続き型
<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "test");
/* 接続をチェックします */
if (!$link) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
/* autocommit を off にします */
mysqli_autocommit($link, FALSE);
mysqli_query($link, "CREATE TABLE Language LIKE CountryLanguage");
/* データを挿入します */
mysqli_query($link, "INSERT INTO Language VALUES ('DEU', 'Bavarian', 'F', 11.2)");
mysqli_query($link, "INSERT INTO Language VALUES ('DEU', 'Swabian', 'F', 9.4)");
/* トランザクションをコミットします */
if (!mysqli_commit($link)) {
print("Transaction commit failed\n");
exit();
}
/* 接続を閉じます */
mysqli_close($link);
?>
参考
- mysqli_autocommit() - データベース更新の自動コミットをオンまたはオフにする
- mysqli_begin_transaction() - トランザクションを開始する
- mysqli_rollback() - 現在のトランザクションをロールバックする
- mysqli_savepoint() - トランザクションのセーブポイントを設定する