PHP マニュアル
前のページ |  | 次のページ

# maxdb_rollback

(PECL)

maxdb_rollback

(no version information, might be only in CVS)

maxdb->rollback -- 現在のトランザクションをロールバックする

## 説明

bool maxdb_rollback ( resource link )
class maxdb {
bool rollback ( void )
}

link パラメータで指定したデータベース接続について、 現在のトランザクションをロールバックします。

## 返り値

成功した場合に `TRUE` を、失敗した場合に `FALSE` を返します。

## 参考

maxdb_commit()、 maxdb_autocommit()

## 例

例 1. オブジェクト指向型
`<?php $maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB"); /* 接続を調べます */ if (maxdb_connect_errno()) { printf("接続に失敗しました: %s\n", maxdb_connect_error()); exit(); } /* 自動コミットを無効にします */ $maxdb->autocommit(FALSE); $maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city"); $maxdb->query("INSERT INTO temp.mycity SELECT * FROM hotel.city"); /* insert をコミットします */ $maxdb->commit(); /* すべての行を削除します */ $maxdb->query("DELETE FROM temp.mycity"); if ($result = $maxdb->query("SELECT COUNT(*) FROM temp.mycity")) { $row = $result->fetch_row(); printf("%d rows in table mycity.\n", $row[0]); /* 結果を開放します */ $result->close(); } /* ロールバックします */ $maxdb->rollback(); if ($result = $maxdb->query("SELECT COUNT(*) FROM temp.mycity")) { $row = $result->fetch_row(); printf("%d rows in table mycity (after rollback).\n", $row[0]); /* 結果を開放します */ $result->close(); } /* myCity テーブルを削除します */ $maxdb->query("DROP TABLE temp.mycity"); $maxdb->close(); ?>`

例 2. 手続き型
`<?php $link = maxdb_connect("localhost", "MONA", "RED", "DEMODB"); /* 接続を調べます */ if (maxdb_connect_errno()) { printf("接続に失敗しました: %s\n", maxdb_connect_error()); exit(); } /* 自動コミットを無効にします */ maxdb_autocommit($link, FALSE); maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city"); maxdb_query($link, "INSERT INTO temp.mycity SELECT * FROM hotel.city"); /* commit insert */ maxdb_commit($link); /* delete all rows */ maxdb_query($link, "DELETE FROM temp.mycity"); if ($result = maxdb_query($link, "SELECT COUNT(*) FROM temp.mycity")) { $row = maxdb_fetch_row($result); printf("%d rows in table mycity.\n", $row[0]); /* 結果を開放します */ maxdb_free_result($result); } /* ロールバックします */ maxdb_rollback($link); if ($result = maxdb_query($link, "SELECT COUNT(*) FROM temp.mycity")) { $row = maxdb_fetch_row($result); printf("%d rows in table mycity (after rollback).\n", $row[0]); /* 結果を開放します */ maxdb_free_result($result); } /* myCity テーブルを削除します */ maxdb_query($link, "DROP TABLE temp.mycity"); maxdb_close($link); ?>`

上の例の出力は、たとえば以下のようになります。

    0 rows in table mycity.
    25 rows in table mycity (after rollback).

前のページ | ホーム | 次のページ
maxdb_report | 上に戻る | maxdb_rpl_parse_enabled