|
odbc_autocommit
Toggle autocommit behaviour
(PHP 4, PHP 5)
Examples ( Source code ) » odbc_autocommit
Code Examples / Notes » odbc_autocommitalonsoalonsocr
When used in a odbc_fetch loop your selected resultset is lost and loop ends.
ron
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
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
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.
orgied - info
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. andrea dot galli
Example: set autocommit on <?php $Link_ID = odbc_connect("DSN", "user", "pass"); $Return = odbc_autocommit($Link_ID, FALSE); ?> |
Change Languageodbc_autocommit odbc_binmode odbc_close_all odbc_close odbc_columnprivileges odbc_columns odbc_commit odbc_connect odbc_cursor odbc_data_source odbc_do odbc_error odbc_errormsg odbc_exec odbc_execute odbc_fetch_array odbc_fetch_into odbc_fetch_object odbc_fetch_row odbc_field_len odbc_field_name odbc_field_num odbc_field_precision odbc_field_scale odbc_field_type odbc_foreignkeys odbc_free_result odbc_gettypeinfo odbc_longreadlen odbc_next_result odbc_num_fields odbc_num_rows odbc_pconnect odbc_prepare odbc_primarykeys odbc_procedurecolumns odbc_procedures odbc_result_all odbc_result odbc_rollback odbc_setoption odbc_specialcolumns odbc_statistics odbc_tableprivileges odbc_tables |