mysqli
PHP Manual

mysqli::begin_transaction

mysqli_begin_transaction

(PHP 5 >= 5.5.0, PHP 7)

mysqli::begin_transaction -- mysqli_begin_transactionDémarre une transaction

Description

Style orienté objet (method):

public bool mysqli::begin_transaction ([ int $flags [, string $name ]] )

Style procédural:

bool mysqli_begin_transaction ( mysqli $link [, int $flags [, string $name ]] )

Commence une transaction. Requiert MySQL 5.6 et suivants, et le moteur InnoDB (il est actif par défaut). Pour plus de détails sur le fonctionnement des transactions MySQL, voir » http://dev.mysql.com/doc/mysql/en/commit.html.

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

flags

Les drapeaux valides sont :

  • MYSQLI_TRANS_START_READ_ONLY : Commence la transaction comme "START TRANSACTION READ ONLY".

  • MYSQLI_TRANS_START_READ_WRITE : Commence la transaction comme "START TRANSACTION READ WRITE".

  • MYSQLI_TRANS_START_WITH_CONSISTENT_SNAPSHOT : Commence la transaction comme "START TRANSACTION WITH CONSISTENT SNAPSHOT".

name

Nom du point de sauvegarde pour la transaction.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec $mysqli->begin_transaction()

Style orienté objet

<?php
$mysqli 
= new mysqli("127.0.0.1""my_user""my_password""sakila");

if (
$mysqli->connect_errno) {
    
printf("Echec de la connexion : %s\n"$mysqli->connect_error);
    exit();
}

$mysqli->begin_transaction(MYSQLI_TRANS_START_READ_ONLY);

$mysqli->query("SELECT first_name, last_name FROM actor");
$mysqli->commit();

$mysqli->close();
?>

Style procédural

<?php
$link 
mysqli_connect("127.0.0.1""my_user""my_password""sakila");

if (
mysqli_connect_errno()) {
    
printf("Echec de la connexion : %s\n"mysqli_connect_error());
    exit();
}

mysqli_begin_transaction($linkMYSQLI_TRANS_START_READ_ONLY);

mysqli_query($link"SELECT first_name, last_name FROM actor LIMIT 1");
mysqli_commit($link);

mysqli_close($link);
?>

Voir aussi


mysqli
PHP Manual