PHP: Hypertext Preprocessor (original) (raw)

odbc_autocommit

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_autocommit — Toggle autocommit behaviour

Description

odbc_autocommit(Odbc\Connection $odbc, ?bool $enable = [null](reserved.constants.php#constant.null)): int|bool

By default, auto-commit is on for a connection. Disabling auto-commit is equivalent with starting a transaction.

Parameters

odbc

The ODBC connection object, see odbc_connect() for details.

enable

If enable is [true](reserved.constants.php#constant.true), auto-commit is enabled, if it is [false](reserved.constants.php#constant.false) auto-commit is disabled. If [null](reserved.constants.php#constant.null) is passed, this function returns the auto-commit status forodbc.

Return Values

With a [null](reserved.constants.php#constant.null) enable parameter, this function returns auto-commit status for odbc. Non-zero is returned if auto-commit is on, 0 if it is off, or [false](reserved.constants.php#constant.false) if an error occurs.

If enable is non-null, this function returns [true](reserved.constants.php#constant.true) on success and [false](reserved.constants.php#constant.false) on failure.

Changelog

Version Description
8.4.0 odbc expects an Odbc\Connection instance now; previously, a resource was expected.
8.3.0 enable is now nullable.

See Also

Found A Problem?

JRog

21 years ago

If a transaction is started (autocommit disabled) while there is an active result id on the connection, odbc_autocommit will post a warning (Cannot set autocommit). Use odbc_free_result to clear the result id's or start the transaction before you execute the SQL.

alvaro at demogracia dot com

16 years ago

If you are using persistent connections (odbc_pconnect rather than odbc_connect) the next script that reuses the connection will inherit your changes to autocommit.

Orgied - info at orgied dot com

20 years ago

`Hi (i'm belgian then sorry for my english).

I think you can do more simple to check the errors : conn=odbcconnect(conn = odbc_connect(conn=odbcconnect(odbc,$user,$password)
or die($error);

odbc_autocommit($conn, FALSE);

odbc_exec($conn, $query1);
odbc_exec($conn, $query2);

if (!odbc_error())
odbc_commit($conn);
else
odbc_rollback($conn);

odbc_close($conn);

I'm not sure it's better to use odbc_error() than
odbc_error($conn). It seems to be the same result.

`

Joe

20 years ago

`It seems that example made by andrea dot galli at acotel dot com works exactly the contrary.

It sets autocommit OFF and NOT ON like it's written inside note!

`

alonsoalonsocr at yahoo dot com

23 years ago

When used in a odbc_fetch loop your selected resultset is lost and loop ends.

andrea dot galli at acotel dot com

22 years ago

`Example: set autocommit on

`