Fonction PHP mysqli_begin_transaction ()

Définition et utilisation

le mysqli_begin_transaction() est utilisé pour démarrer une nouvelle transaction.

Syntaxe

mysqli_begin_transaction($con, [$flags, $name]);

Paramètres

Sr. Non Paramètre et description
1

con(Mandatory)

Il s'agit d'un objet représentant une connexion à MySQL Server.

2

flags(Optional)

Une constante qui peut être l'une des suivantes:

  • MYSQLI_TRANS_START_READ_ONLY

  • MYSQLI_TRANS_START_READ_WRITE

  • MYSQLI_TRANS_START_WITH_CONSISTENT_SNAPSHOT

3

name(Optional)

Il s'agit d'une valeur de chaîne représentant le nom du point de sauvegarde de la transaction.

Valeurs de retour

La fonction PHP mysqli_begin_transaction () renvoie une valeur booléenne qui est, true si l'opération réussit et false sinon.

Version PHP

Cette fonction a été introduite pour la première fois dans la version 5 de PHP et fonctionne dans toutes les versions ultérieures.

Exemple

L'exemple suivant montre l'utilisation de la fonction mysqli_begin_transaction () (dans le style procédural) -

<?php
   //Creating a connection
   $con = mysqli_connect("localhost", "root", "password", "mydb");

   //Beginning the transaction
   mysqli_begin_transaction($con, MYSQLI_TRANS_START_READ_ONLY);
   print("Transaction Started......\n");

   //Creating a table
   mysqli_query($con, "CREATE TABLE Test(Name VARCHAR(255), AGE INT)");
   print("Table Created......\n");

   //Inserting values
   mysqli_query($con, "INSERT INTO Test values('Raju', 25),('Rahman', 30),('Sarmista', 27)");
   print("Records Inserted......\n");

   //Committing the transaction
   mysqli_commit($con);
   print("Transaction Saved......\n");

   //Closing the connection
   mysqli_close($con);
?>

Cela produira le résultat suivant -

Transaction Started......
Table Created......
Records Inserted......
Transaction Saved......

Exemple

La syntaxe de cette méthode dans le style orienté objet est $ con> begin_transaction () . Voici un exemple de cette fonction en mode orienté objet $ minus;

//Creating a connection
$con = new mysqli("localhost", "root", "password", "mydb");

//Beginning the transaction
$con->begin_transaction($con, MYSQLI_TRANS_START_READ_ONLY);
print("Transaction Started......\n");

//Creating a table
$con->query("CREATE TABLE Test(Name VARCHAR(255), AGE INT)");
print("Table Created......\n");

//Inserting values
$con->query("insert into Test values('Raju', 25),('Rahman', 30),('Sarmista', 27)");
print("Records Inserted......\n");

//Committing the transaction
$con->commit();
print("Transaction Saved......\n");

//Closing the connection
$con->close();
?>

Cela produira le résultat suivant -

Transaction Started......
Table Created......
Records Inserted......
Transaction Saved......