文字

maxdb_rollback

maxdb::rollback

(PECL maxdb >= 1.0)

maxdb_rollback -- maxdb::rollbackRolls back current transaction

说明

过程化风格

bool maxdb_rollback ( resource $link )

面向对象风格

bool maxdb::rollback ( void )

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).

参见

  • maxdb_commit() - Commits the current transaction
  • maxdb_autocommit() - Turns on or off auto-commiting database modifications
上一篇: 下一篇: