如果在連線上存在使用中的結果 ID 時啟動交易(停用自動提交),odbc_autocommit 會發出警告(無法設定自動提交)。使用 odbc_free_result 清除結果 ID,或在執行 SQL 之前啟動交易。
(PHP 4, PHP 5, PHP 7, PHP 8)
odbc_autocommit — 切換自動提交行為
切換自動提交行為。
預設情況下,連線的自動提交是開啟的。關閉自動提交等同於開始一個交易。
odbc
ODBC 連線物件,詳情請參閱 odbc_connect()。
enable
如果 enable
為 true
,則啟用自動提交;如果為 false
,則停用自動提交。如果傳遞 null
,此函數會傳回 odbc
的自動提交狀態。
版本 | 描述 |
---|---|
8.4.0 |
odbc 現在需要 Odbc\Connection 實例;之前需要 resource。 |
8.3.0 |
enable 現在可為 null。 |
如果在連線上存在使用中的結果 ID 時啟動交易(停用自動提交),odbc_autocommit 會發出警告(無法設定自動提交)。使用 odbc_free_result 清除結果 ID,或在執行 SQL 之前啟動交易。
如果您使用的是持續性連線(odbc_pconnect 而不是 odbc_connect),則下一個重複使用該連線的腳本將會繼承您對自動提交的變更。
嗨(我是比利時人,所以很抱歉我的英文不好)。
我認為您可以更簡單地檢查錯誤
$conn = odbc_connect($odbc,$user,$password)
或 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);
我不確定使用 odbc_error() 是否比
odbc_error($conn) 更好。結果似乎相同。
範例:設定自動提交開啟
<?php
$Link_ID = odbc_connect("DSN", "user", "pass");
$Return = odbc_autocommit($Link_ID, FALSE);
?>