PHP 8.6.0 Beta 1 is available for testing

cubrid_commit

(PECL CUBRID >= 8.3.0)

cubrid_commitПодтверждение транзакции

Описание

function cubrid_commit(resource $conn_identifier): bool

Функция 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

Смотрите также

Нашли ошибку?

ИнструкцияИсправлениеСообщение об ошибке
+Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы

AltStyle によって変換されたページ (->オリジナル) /