mysqli::multi_query
mysqli_multi_query
(PHP 5, PHP 7)
mysqli::multi_query -- mysqli_multi_query — Exécute une requête MySQL multiple
Description
Style orienté objet
$query
)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
-
Seulement en style procédural : 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.
Les données contenues dans la requête doivent être échappées.
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 Exemple avec mysqli::multi_query()
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();
?>
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);
?>
Les exemples ci-dessus vont afficher quelque chose de similaire à :
my_user@localhost ----------------- Amersfoort Maastricht Dordrecht Leiden Haarlemmermeer
Voir aussi
- mysqli_query() - Exécute une requête sur la base de données
- mysqli_use_result() - Initialise la récupération d'un jeu de résultats
- mysqli_store_result() - Transfère un jeu de résultats à partir de la dernière requête
- mysqli_next_result() - Prépare le prochain résultat d'une requête multiple
- mysqli_more_results() - Vérifie s'il y a d'autres jeux de résultats MySQL disponibles
Version en cache
05/11/2024 01:03:45 Cette version de la page est en cache (à la date du 05/11/2024 01:03:45) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-mysqli.multi-query.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.