PHP Conference Japan 2024

cubrid_commit

(PECL CUBRID >= 8.3.0)

cubrid_commit提交事務

說明

cubrid_commit(資源 $conn_identifier): 布林值

cubrid_commit() 函式用於對 conn_identifier 指向的、目前正在進行的事務執行提交。在呼叫 cubrid_commit() 函式後,與伺服器的連線將會關閉;但是,連線控制代碼仍然有效。

在 CUBRID PHP 中,為了進行事務管理,預設會停用自動提交模式。您可以使用 cubrid_set_autocommit() 設定它。您可以使用 cubrid_get_autocommit() 取得其狀態。在您開始事務之前,請記住停用自動提交模式。

參數

conn_identifier

連線識別碼。

返回值

成功時返回 true,失敗時返回 false

範例

範例 #1 cubrid_commit() 範例

<?php
$conn
= cubrid_connect("localhost", 33000, "demodb", "dba");

@
cubrid_execute($conn, "DROP TABLE publishers");

$sql = <<<EOD
CREATE TABLE publishers(
pub_id CHAR(3),
pub_name VARCHAR(20),
city VARCHAR(15),
state CHAR(2),
country VARCHAR(15)
)
EOD;
cubrid_set_autocommit($conn,false);
if (!
cubrid_execute($conn, $sql)) {
printf("Error facility: %d\nError code: %d\nError msg: %s\n", cubrid_error_code_facility(), cubrid_error_code(), cubrid_error_msg());

cubrid_disconnect($conn);
exit;
}

$req = cubrid_prepare($conn, "INSERT INTO publishers VALUES(?, ?, ?, ?, ?)");

$id_list = array("P01", "P02", "P03", "P04");
$name_list = array("Abatis Publishers", "Core Dump Books", "Schadenfreude Press", "Tenterhooks Press");
$city_list = array("New York", "San Francisco", "Hamburg", "Berkeley");
$state_list = array("NY", "CA", NULL, "CA");
$country_list = array("USA", "USA", "Germany", "USA");

for (
$i = 0, $size = count($id_list); $i < $size; $i++) {
cubrid_bind($req, 1, $id_list[$i]);
cubrid_bind($req, 2, $name_list[$i]);
cubrid_bind($req, 3, $city_list[$i]);
cubrid_bind($req, 4, $state_list[$i]);
cubrid_bind($req, 5, $country_list[$i]);

if (!(
$ret = cubrid_execute($req))) {
break;
}
}

if (!
$ret) {
cubrid_rollback($conn);
} else {
cubrid_commit($conn);

$req = cubrid_execute($conn, "SELECT * FROM publishers");
while (
$result = cubrid_fetch_assoc($req)) {
printf("%-3s %-20s %-15s %-3s %-15s\n",
$result["pub_id"], $result["pub_name"], $result["city"], $result["state"], $result["country"]);
}
}

cubrid_disconnect($conn);
?>

以上範例會輸出

P01 Abatis Publishers    New York        NY  USA            
P02 Core Dump Books      San Francisco   CA  USA            
P03 Schadenfreude Press  Hamburg             Germany        
P04 Tenterhooks Press    Berkeley        CA  USA

參見

新增註釋

使用者提供的註釋

此頁面沒有使用者提供的註釋。
To Top