PHP mysqli multi_query()

La fonction multi_query() / mysqli_multi_query() est une fonction intégrée en PHP qui effectue une ou plusieurs requêtes sur une base de données. Les requêtes sont séparées par un point-virgule.
 

Syntaxe

Style procédural:

mysqli_multi_query(conn, query)

 
Style orienté objet:

$mysqli->multi_query(query)

 
 

Voir aussi : query()
Paramètres
  • conn(Obligatoire) : Spécifie la connexion MySQL à utiliser.
  • query(Obligatoire) : Spécifie une ou plusieurs requêtes, séparées par un point-virgule.

 

Valeur de retour

La fonction renvoie FALSE si la première instruction a échoué. Pour récupérer les erreurs suivantes de d’autres instructions, vous devez appeler mysqli_next_result().
 

Version PHP:

5+
 

Exemple – Style procédural:
<?php
$conn = mysqli_connect("localhost", "root", "password", "db_name");

// Vérifier la connexion
if (mysqli_connect_errno()) {
  echo "Impossible de se connecter à MySQL: " . mysqli_connect_error();
  exit();
}

$sql = "SELECT name FROM Users; SELECT adresse FROM Client";

// Exécuter plusieurs requêtes
if (mysqli_multi_query($conn, $sql)) {
  do {
    // Stocker le premier jeu de résultats
    if ($result = mysqli_store_result($conn)) {
      while ($row = mysqli_fetch_row($result)) {
        printf("%s\n", $row[0]);
      }
      mysqli_free_result($result);
    }
    // s'il y a plus de jeux de résultats, afficher un retour à la ligne 
    if (mysqli_more_results($conn)) {
      printf("\n");
    }
     // Préparer le prochain jeu de résultats
  } while (mysqli_next_result($conn));
}

// Fermer la connexion
mysqli_close($conn);
?>

 
 

Exemple – Style orienté objet:
<?php
$mysqli = new mysqli("localhost", "root", "password", "db_name");

// Vérifier la connexion
if ($mysqli->connect_errno) {
  echo "Impossible de se connecter à MySQL: " . $mysqli->connect_error;
  exit();
}

$sql = "SELECT name FROM Users; SELECT adresse FROM Client";

// Exécuter plusieurs requêtes
if ($mysqli->multi_query($sql)) {
  do {
    // Stocker le premier jeu de résultats
    if ($res = $mysqli->store_result()) {
      while ($row = $res->fetch_row()) {
        printf("%s\n", $row[0]);
      }
     $res->free_result();
    }
    // s'il y a plus de jeux de résultats, afficher un retour à la ligne
    if ($mysqli->more_results()) {
      printf("\n");
    }
    // Préparer le prochain jeu de résultats
  } while ($mysqli->next_result());
}

// Fermer la connexion
$mysqli->close();
?>
Questions d'entretiens PHP

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *