PHP Doku:: Ändert das Autocommit-Verhalten - function.odbc-autocommit.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzDatenbankerweiterungenAbstraktionsebenenODBC (Unified)ODBC Funktionenodbc_autocommit

Ein Service von Reinhard Neidl - Webprogrammierung.

ODBC Funktionen

<<ODBC Funktionen

odbc_binmode>>

odbc_autocommit

(PHP 4, PHP 5)

odbc_autocommitÄndert das Autocommit-Verhalten

Beschreibung

int odbc_autocommit ( int $connection_id [, int $OnOff ] )

Ohne den Parameter OnOff gibt odbc_autocommit() den aktuellen autocommit-Status für die Datenbankverbindung connection_id zurück. Wenn autocommit aktiviert ist, wird TRUE zurückgeliefert, FALSE wenn es deaktiviert ist oder ein Fehler auftritt.

In der Standardeinstellung ist autocommit für eine Datenbankverbindung aktiviert. Das Deaktivieren von autocommit enspricht dem Durchführen einer Transaktion.

Siehe auch odbc_commit() und odbc_rollback().


7 BenutzerBeiträge:
- Beiträge aktualisieren...
alvaro at demogracia dot com
6.08.2008 10:18
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.
Orgied - info at orgied dot com
6.04.2005 8:58
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.
Ron
21.08.2004 8:51
using autocommit functionality to rollback transactions in a "workspace"

<?php
$conn
= odbc_connection("$DSN","USER","PASS");
//turns off autocommit
odbc_autocommit($conn,FALSE);

$query1 = "some SQL";
$query2 = "some more SQL";

$ErrorCount = 0;
//if odbc_exec fails it will increment the $ErrorCount
$result = odbc_exec($conn,$query1) or $ErrorCount++;
$result2 = odbc_exec($conn,$query2) or $ErrorCount++;

//checking for errors, commit if none, rollback else
if ($Errorcount == 0){
   
odbc_commit($conn);
    echo
"transaction successful";
}
else{
   
odbc_rollback($conn);
    echo
"there were errors processing the transaction.
    No changes were made to the database"
;
}

odbc_close($conn);

?>

Cheers,
Ron
Joe
26.05.2004 18:01
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!
JRog
25.06.2003 22:30
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.
andrea dot galli at acotel dot com
28.04.2003 18:48
Example: set autocommit on

<?php

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

   
$Return = odbc_autocommit($Link_ID, FALSE);

?>
alonsoalonsocr at yahoo dot com
9.10.2001 0:09
When used in a odbc_fetch loop your selected resultset is lost and loop ends.



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)