©
This document uses PHP Chinese website manual Release
(PECL maxdb >= 1.0)
maxdb_rollback -- maxdb::rollback — Rolls back current transaction
过程化风格
$link
)面向对象风格
Rollbacks the current transaction for the database specified by the
link
parameter.
成功时返回 TRUE
, 或者在失败时返回 FALSE
。
Example #1 面向对象风格
<?php
$maxdb = new maxdb ( "localhost" , "MONA" , "RED" , "DEMODB" );
if ( maxdb_connect_errno ()) {
printf ( "Connect failed: %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" );
$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 ();
}
$maxdb -> query ( "DROP TABLE temp.mycity" );
$maxdb -> close ();
?>
Example #2 过程化风格
<?php
$link = maxdb_connect ( "localhost" , "MONA" , "RED" , "DEMODB" );
if ( maxdb_connect_errno ()) {
printf ( "Connect failed: %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" );
maxdb_commit ( $link );
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 );
}
maxdb_query ( $link , "DROP TABLE temp.mycity" );
maxdb_close ( $link );
?>
以上例程的输出类似于:
0 rows in table mycity. 25 rows in table mycity (after rollback).