PHPverse 2025

odbc_autocommit

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

odbc_autocommitActiva el modo de autovalidación

Descripción

odbc_autocommit(Odbc\Connection $odbc, ?bool $enable = null): int|bool

Sin el argumento enable, odbc_autocommit() devuelve el estado de autovalidación

Por omisión, la autovalidación está activada. Desactivar la autovalidación es equivalente a iniciar una transacción.

Parámetros

odbc

El conector identificador ODBC, ver odbc_connect() para más información.

enable

Si enable es true, la autovalidación está activada. Si es false, la autovalidación está desactivada. Si se pasa null, esta función devuelve el estado de autovalidación para odbc.

Valores devueltos

Con un argumento enable igual a null, odbc_autocommit() devuelve el estado de autovalidación de la conexión odbc. Un valor diferente de 0 si el modo está activado, 0 si no lo está, o false si ocurre un error.

Si enable no es null, esta función devuelve true en caso de éxito, y false si ocurre un error.

Historial de cambios

Versión Descripción
8.4.0 odbc expects an Odbc\Connection instance now; previously, a resource was expected.
8.3.0 enable es ahora nullable.

Ver también

add a note

User Contributed Notes 6 notes

up
1
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.
up
0
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.
up
0
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 = 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
0
Joe
21 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
alonsoalonsocr at yahoo dot com
23 years ago
When used in a odbc_fetch loop your selected resultset is lost and loop ends.
up
-4
andrea dot galli at acotel dot com
22 years ago
Example: set autocommit on

<?php

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

$Return = odbc_autocommit($Link_ID, FALSE);

?>
To Top