# mysqli::autocommit

# mysqli_autocommit

(PHP 5, PHP 7)

mysqli::autocommit -- mysqli_autocommit — Turns on or off auto-committing database modifications

### Description

Object oriented style

mysqli::autocommit ( bool `$mode` ) : bool

Procedural style

mysqli_autocommit ( mysqli `$link` , bool `$mode` ) : bool

Turns on or off auto-commit mode on queries for the database connection.

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

### Parameters

`link`

  Procedural style only: A link identifier returned by mysqli_connect() or mysqli_init()

`mode`

  Whether to turn on auto-commit or not.

### Return Values

Returns `TRUE` on success or `FALSE` on failure.

### Notes

> Note:

> This function doesn't work with non transactional table types (like MyISAM or ISAM).

### Examples

Example #1 mysqli::autocommit() example

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();
?>`

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);
?>`

The above examples will output:

    Autocommit is 1

### See Also

- mysqli_begin_transaction() - Starts a transaction
- mysqli_commit() - Commits the current transaction
- mysqli_rollback() - Rolls back current transaction