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)
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();
?>





