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
- odbc_commit() - Commit an ODBC transaction
- odbc_rollback() - Rollback a transaction
Found A Problem?
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.
`
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
`