mysqli_multi_query,

(PHP 5)

mysqli_multi_query, mysqli->multi_query() — Exécute une requête MySQL multiple

Description

Style procédural

bool mysqli_multi_query ( mysqli $link, string $query )

Style orienté objet (méthode)

class mysqli {
bool multi_query ( string $query )
}

Exécute une ou plusieurs requêtes, rassemblées dans le paramètre query par des point-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 1679. 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 {
        
/* sStockage du premier résultat */
        
if ( $result  $mysqli -> store_result ()) {
            while (
$row  $result -> fetch_row ()) {
                
printf ( "%s\n" $row [ 0 ]);
            }
            
$result -> close ();
        }
        
/* Affichage d'une séparation */
        
if ( $mysqli -> more_results ()) {
            
printf ( "-----------------\n" );
        }
    } while (
$mysqli -> next_result ());
}

/* Fermeture de la connexion */
$mysqli -> close ();
?>

Exemple 1680. 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 {
        
/* Stockage 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 à :


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

  

Voir aussi

mysqli_use_result()
mysqli_store_result()
mysqli_next_result()
mysqli_more_results()