略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: odbc_autocommit

2024-12-22

odbc_autocommit

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

odbc_autocommitToggle autocommit behaviour

说明

odbc_autocommit(resource $odbc, bool $enable = false): int|bool

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 is true, auto-commit is enabled, if it is false auto-commit is disabled.

返回值

Without the 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 set, this function returns true on success and false on failure.

参见

add a noteadd a note

User Contributed Notes 6 notes

up
1
JRog
18 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.
up
0
alvaro at demogracia dot com
13 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.
up
0
Joe
18 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!
up
-1
Orgied - info at orgied dot com
17 years ago
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.
up
-2
alonsoalonsocr at yahoo dot com
20 years ago
When used in a odbc_fetch loop your selected resultset is lost and loop ends.
up
-3
andrea dot galli at acotel dot com
19 years ago
Example: set autocommit on

<?php

   $Link_ID
= odbc_connect("DSN", "user", "pass");

   
$Return = odbc_autocommit($Link_ID, FALSE);

?>

官方地址:https://www.php.net/manual/en/function.odbc-autocommit.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3