cubrid_commit
(PECL CUBRID >= 8.3.0)
cubrid_commit — Consigna una transacción
Descripción
$conn_identifier )
La función cubrid_commit() se usa para ejecutar el envío
de la transacción a la que apunta conn_handle,
actualmente en progreso. La conexión al servidor se cierra después de
llamar a la función cubrid_commit(); sin embargo,
el gestor de conexión todavía es válido.
En CUBRID PHP, se deshabilita un modo de auto consigna por opmisión para la administración de transacciones. Se puede establecer usando cubrid_set_autocommit(). Se puede obtener su estado usando cubrid_get_autocommit(). Antes de comenzar una transacción, acuérdese de deshabilitar el modo de auto consigna.
Parámetros
-
conn_identifier -
Identificador de conexión.
Valores devueltos
TRUE, cuando el proceso tiene éxito.
FALSE, cuando el proceso no tiene éxito.
Ejemplos
Ejemplo #1 Ejemplo de 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);
?>
El resultado del ejemplo sería:
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
Ver también
- cubrid_rollback() - Retroceder una transacción
- cubrid_get_autocommit() - Devuelve el modo auto-commit de la conexión
- cubrid_set_autocommit() - Establece el modo de confirmación automática de la conexión