Manuel PHP
mysqli::multi_query
mysqli_multi_query
(PHP 5)
mysqli::multi_query -- mysqli_multi_query — Exécute une requête MySQL multiple
Description
Style orienté objet :
Style procédural :
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
- <?php
- $mysqli = new mysqli("localhost", "my_user", "my_password", "world");
- /* Vérification de la connexion */
- if (mysqli_connect_errno()) {
- printf("Échec de la connexion : %s\n", mysqli_connect_error());
- exit();
- }
- $query = "SELECT CURRENT_USER();";
- $query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";
- /* Exécution d'une requête multiple */
- if ($mysqli->multi_query($query)) {
- do {
- /* Stockage du premier résultat */
- if ($result = $mysqli->store_result()) {
- while ($row = $result->fetch_row()) {
- printf("%s\n", $row[0]);
- }
- $result->free();
- }
- /* Affichage d'une séparation */
- if ($mysqli->more_results()) {
- printf("-----------------\n");
- }
- } while ($mysqli->next_result());
- }
- /* Fermeture de la connexion */
- $mysqli->close();
- ?>
Exemple #2 Style procédural
- <?php
- $link = mysqli_connect("localhost", "my_user", "my_password", "world");
- /* Vérification de la connexion */
- if (mysqli_connect_errno()) {
- printf("Échec de la connexion : %s\n", mysqli_connect_error());
- exit();
- }
- $query = "SELECT CURRENT_USER();";
- $query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";
- /* Exécution d'une requête multiple */
- if (mysqli_multi_query($link, $query)) {
- do {
- /* sStockage du premier résultat */
- if ($result = mysqli_store_result($link)) {
- while ($row = mysqli_fetch_row($result)) {
- printf("%s\n", $row[0]);
- }
- mysqli_free_result($result);
- }
- /* Affichage d'une séparation */
- if (mysqli_more_results($link)) {
- printf("-----------------\n");
- }
- } while (mysqli_next_result($link));
- }
- /* Fermeture de la connexion */
- mysqli_close($link);
- ?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
Remonter 
