Manuel PHP

mysqli::multi_query

mysqli_multi_query

(PHP 5)

mysqli::multi_query -- mysqli_multi_queryExécute une requête MySQL multiple

Description

Style orienté objet :

bool mysqli::multi_query ( string $query )

Style procédural :

bool mysqli_multi_query ( mysqli $link , string $query )

Exécute une ou plusieurs requêtes, rassemblées dans le paramètre query par des points-virgules.

Pour lire les résultats de la première requête, vous pouvez utiliser les fonctions mysqli_use_result() et mysqli_store_result(). Tous les autres résultats de requêtes peuvent être atteints avec mysqli_more_results() et mysqli_next_result().

Liste de paramètres

link

Style procédural uniquement : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

query

La requête, sous la forme d'une chaîne de caractères.

Valeurs de retour

Retourne FALSE uniquement si la première requête échoue. Pour récupérer les sous-séquences d'erreurs issues des autres requêtes, vous devez appeler d'abord la fonction mysqli_next_result().

Exemples

Exemple #1 Style orienté objet

  1. <?php
  2. $mysqli = new mysqli("localhost", "my_user", "my_password", "world");  
  3.  
  4. /* Vérification de la connexion */  
  5. if (mysqli_connect_errno()) { 
  6.    printf("Échec de la connexion : %s\n", mysqli_connect_error()); 
  7.    exit();  
  8. }  
  9.  
  10. $query = "SELECT CURRENT_USER();";  
  11. $query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";  
  12.  
  13. /* Exécution d'une requête multiple */  
  14. if ($mysqli->multi_query($query)) { 
  15.    do { 
  16.       /* Stockage du premier résultat */ 
  17.       if ($result = $mysqli->store_result()) { 
  18.          while ($row = $result->fetch_row()) { 
  19.             printf("%s\n", $row[0]); 
  20.          } 
  21.          $result->free(); 
  22.       } 
  23.       /* Affichage d'une séparation */ 
  24.       if ($mysqli->more_results()) { 
  25.          printf("-----------------\n"); 
  26.       } 
  27.    } while ($mysqli->next_result());  
  28. }  
  29.  
  30. /* Fermeture de la connexion */  
  31. $mysqli->close();  
  32. ?> 

Exemple #2 Style procédural

  1. <?php
  2. $link = mysqli_connect("localhost", "my_user", "my_password", "world");  
  3.  
  4. /* Vérification de la connexion */  
  5. if (mysqli_connect_errno()) { 
  6.    printf("Échec de la connexion : %s\n", mysqli_connect_error()); 
  7.    exit();  
  8. }  
  9.  
  10. $query = "SELECT CURRENT_USER();";  
  11. $query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";  
  12.  
  13. /* Exécution d'une requête multiple */  
  14. if (mysqli_multi_query($link, $query)) { 
  15.    do { 
  16.       /* sStockage du premier résultat */ 
  17.       if ($result = mysqli_store_result($link)) { 
  18.          while ($row = mysqli_fetch_row($result)) { 
  19.             printf("%s\n", $row[0]); 
  20.          } 
  21.          mysqli_free_result($result); 
  22.       } 
  23.       /* Affichage d'une séparation */ 
  24.       if (mysqli_more_results($link)) { 
  25.          printf("-----------------\n"); 
  26.       } 
  27.    } while (mysqli_next_result($link));  
  28. }  
  29.  
  30. /* Fermeture de la connexion */  
  31. mysqli_close($link);  
  32. ?> 

L'exemple ci-dessus va afficher quelque chose de similaire à :

my_user@localhost ----------------- Amersfoort Maastricht Dordrecht Leiden Haarlemmermeer

Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Bretagne - php - Moto - Kit graphique