mysqli_autocommit

(PHP 5)

mysqli_autocommit

(no version information, might be only in CVS)

mysqli->autocommit -- Turns on or off auto-commiting database modifications

Description

Procedural style:

bool mysqli_autocommit ( mysqli link, bool mode )

Object oriented style (method)

class mysqli {

bool autocommit ( bool mode )

}

mysqli_autocommit() is used to turn on or off auto-commit mode on queries for the database connection represented by the link object.

Замечание: mysqli_autocommit() doesn't work with non transactional table types (like MyISAM or ISAM).

To determine the current state of autocommit use the SQL command 'SELECT @@autocommit'.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

mysqli_commit() и mysqli_rollback().

Примеры

Пример 1. Object oriented style

<?php
$mysqli
= new mysqli("localhost", "my_user", "my_password", "world");

if (
mysqli_connect_errno()) {
  
printf("Connect failed: %s\n", mysqli_connect_error());
   exit();
}

/* turn autocommit on */
$mysqli->autocommit(TRUE);

if (
$result = $mysqli->query("SELECT @@autocommit")) {
  
$row = $result->fetch_row();
  
printf("Autocommit is %s\n", $row[0]);
  
$result->free();
}

/* close connection */
$mysqli->close();
?>

Пример 2. Procedural style

<?php
$link
= mysqli_connect("localhost", "my_user", "my_password", "world");

if (!
$link) {
  
printf("Can't connect to localhost. Error: %s\n", mysqli_connect_error());
   exit();
}

/* turn autocommit on */
mysqli_autocommit($link, TRUE);

if (
$result = mysqli_query($link, "SELECT @@autocommit")) {
  
$row = mysqli_fetch_row($result);
  
printf("Autocommit is %s\n", $row[0]);
  
mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

Результат выполнения данного примера:

Autocommit is 1


mysqli_autocommit
will at phpfever dot com
27-Apr-2006 01:22
If you are using the mysql command line tool, here are some helpful hints for the autocommit feature:

1.  To view the current autocommit setting, you can use this query: select @@autocommit;  It will return the current setting as 1 or 0 (on or off)

2. You can manage the default autocommit feature in you my.cnf or my.ini by adding the following line: init_connect='set autocommit=0'.  I'm pretty sure this isn't in the documentation, but it does work.

Here are the current engines, as of MySQL 5.1dev that support transactions:

InnoDB
BerkeleyDB
Falcon

Falcon is very new, so beware using it on production systems.

<mysqli_affected_rowsmysqli_bind_param>
 Last updated: Tue, 15 Nov 2005