cubrid_commit

(PECL CUBRID >= 8.3.0)

cubrid_commitCommit une transaction

Description

bool cubrid_commit ( resource $conn_identifier )

La fonction cubrid_commit() est utilisée pour valider une transaction pointée par le paramètre conn_identifier. La connexion au serveur sera fermée après l'appel à la fonction cubrid_commit() ; cependant, le gestionnaire de connexion resta valide.

En CUBRID PHP, le mode auto-commit est désactivé par défaut pour la gestion des transactions. Vous pouvez le définir en utilisant la fonction cubrid_set_autocommit(). Vous pouvez récupérer son statut en utilisant la fonction cubrid_get_autocommit(). Avant de commencer une transaction, n'oubliez pas de désactiver le mode auto-commit.

Liste de paramètres

conn_identifier

Identifiant de connexion.

Valeurs de retour

TRUE, lorsque l'opération est un succès.

FALSE, lorsque l'opération a échoué.

Exemples

Exemple #1 Exemple avec 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);
?>

L'exemple ci-dessus va afficher :

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            

Voir aussi

LoadingChargement en cours