Функции CUBRID
PHP Manual

cubrid_commit

(PECL CUBRID >= 8.3.0)

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

Описание

bool cubrid_commit ( resource $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            

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


Функции CUBRID
PHP Manual