odbc_autocommit
(PHP 4, PHP 5, PHP 7, PHP 8)
odbc_autocommit — Toggle autocommit behaviour
说明
Toggles autocommit behaviour.
By default, auto-commit is on for a connection. Disabling auto-commit is equivalent with starting a transaction.
参数
odbc
-
ODBC 连接对象,详见 odbc_connect()。
enable
-
If
enable
istrue
, auto-commit is enabled, if it isfalse
auto-commit is disabled. Ifnull
is passed, this function returns the auto-commit status forodbc
.
返回值
With a 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
if an error
occurs.
If enable
is non-null, this function returns true
on
success and false
on failure.
更新日志
版本 | 说明 |
---|---|
8.4.0 |
odbc 现在需要 Odbc\Connection
实例;之前需要 resource。
|
8.3.0 |
enable is now nullable.
|
用户贡献的备注 6 notes
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.
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.
Hi (i'm belgian then sorry for my english).
I think you can do more simple to check the errors :
$conn = odbc_connect($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.
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!
When used in a odbc_fetch loop your selected resultset is lost and loop ends.
Example: set autocommit on
<?php
$Link_ID = odbc_connect("DSN", "user", "pass");
$Return = odbc_autocommit($Link_ID, FALSE);
?>
备份地址:http://www.lvesu.com/blog/php/function.odbc-autocommit.php