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.odbc_autocommit
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
odbc_autocommit
Референца за `function.odbc-autocommit.php` со подобрена типографија и навигација.
odbc_autocommit
(PHP 4, PHP 5, PHP 7, PHP 8)
odbc_autocommit — Вклучи/исклучи однесување на автоматско запишување
= NULL
Вклучува/исклучува однесување на автоматско запишување.
Стандардно, автоматското запишување е вклучено за врска. Исклучувањето на автоматското запишување е еквивалентно со започнување трансакција.
Параметри
odbc-
Испраќа SQL изјава до серверот за бази на податоци. odbc_connect() интерполација на низи
enable-
Враќа
enableistrue, автоматското запишување е овозможено, ако еfalseавтоматското запишување е оневозможено. Акоnullсе помине, оваа функција ја враќа состојбата на автоматското запишување заodbc.
Вратени вредности
Со null enable параметар, оваа функција ја враќа состојбата на автоматското запишување за odbc. Се враќа вредност различна од нула ако автоматското запишување е вклучено, 0 ако е исклучено, или false ако се случи грешка.
Враќа enable не е null, оваа функција враќа true на успех и false при неуспех.
Дневник на промени
| Верзија | = NULL |
|---|---|
| 8.4.0 |
odbc очекува Odbc\Connection
инстанца сега; претходно, а resource се очекуваше.
|
| 8.3.0 |
enable сега е null.
|
Белешки од корисници 6 белешки
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);
?>