Função PHP mysqli_begin_transaction ()

Definição e Uso

o mysqli_begin_transaction() é usado para iniciar uma nova transação.

Sintaxe

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

Parâmetros

Sr. Não Parâmetro e Descrição
1

con(Mandatory)

Este é um objeto que representa uma conexão com o servidor MySQL.

2

flags(Optional)

Uma constante que pode ser uma das seguintes:

  • MYSQLI_TRANS_START_READ_ONLY

  • MYSQLI_TRANS_START_READ_WRITE

  • MYSQLI_TRANS_START_WITH_CONSISTENT_SNAPSHOT

3

name(Optional)

Este é um valor de string que representa o nome do ponto de salvamento da transação.

Valores Retornados

A função PHP mysqli_begin_transaction () retorna um valor booleano que é verdadeiro se a operação for bem-sucedida e falso se não for.

Versão PHP

Esta função foi introduzida pela primeira vez no PHP Versão 5 e funciona em todas as versões posteriores.

Exemplo

O exemplo a seguir demonstra o uso da função mysqli_begin_transaction () (no estilo procedural) -

<?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);
?>

Isso produzirá o seguinte resultado -

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

Exemplo

A sintaxe deste método no estilo orientado a objetos é $ con> begin_transaction () . A seguir está um exemplo dessa função no modo orientado a objetos $ 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();
?>

Isso produzirá o seguinte resultado -

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