©
Dieses Dokument verwendet PHP-Handbuch für chinesische Websites Freigeben
(PHP 4, PHP 5)
odbc_autocommit — Toggle autocommit behaviour
$connection_id
[, bool $OnOff
= false
] )Toggles autocommit behaviour.
By default, auto-commit is on for a connection. Disabling auto-commit is equivalent with starting a transaction.
connection_id
ODBC 连接标识符,详见 odbc_connect() 。
OnOff
If OnOff
is TRUE
, auto-commit is enabled, if
it is FALSE
auto-commit is disabled.
Without the OnOff
parameter, this function returns
auto-commit status for connection_id
. Non-zero is
returned if auto-commit is on, 0 if it is off, or FALSE
if an error
occurs.
If OnOff
is set, this function returns TRUE
on
success and FALSE
on failure.
[#1] alvaro at demogracia dot com [2008-08-06 01:18:12]
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.
[#2] Orgied - info at orgied dot com [2005-04-05 23:58:24]
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.
[#3] Joe [2004-05-26 09:01:23]
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!
[#4] JRog [2003-06-25 13:30:22]
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.
[#5] andrea dot galli at acotel dot com [2003-04-28 09:48:34]
Example: set autocommit on
<?php
$Link_ID = odbc_connect("DSN", "user", "pass");
$Return = odbc_autocommit($Link_ID, FALSE);
?>
[#6] alonsoalonsocr at yahoo dot com [2001-10-08 15:09:16]
When used in a odbc_fetch loop your selected resultset is lost and loop ends.