PHP mysqli multi_query() Fonction

❮ Référence PHP MySQLi

Exemple - Style orienté objet

Effectuer plusieurs requêtes sur la base de données :

<?php
$mysqli = new mysqli("localhost","my_user","my_password","my_db");

if ($mysqli -> connect_errno) {
echo "Échec de la connexion à MySQL : " . $mysqli -> connect_error;
exit();
}

$sql = "SELECT Lastname FROM Persons ORDER BY LastName;";
$sql .= "SELECT Country FROM Customers";

// Exécuter la requête multiple
if ($mysqli -> multi_query($sql)) {
do {
// Stocker le premier ensemble de résultats
if ($result = $mysqli -> store_result()) {
while ($row = $result -> fetch_row()) {
printf("%s\n", $row[0]);
}
$result -> free_result();
}
// s'il y a d'autres ensembles de résultats, imprimer un séparateur
if ($mysqli -> more_results()) {
printf("-------------\n");
}
// Préparer le prochain ensemble de résultats
} while ($mysqli -> next_result());
}

$mysqli -> close();
?>

Consultez l'exemple de style procédural en bas.


Définition et Utilisation

La fonction multi_query() / mysqli_multi_query() exécute une ou plusieurs requêtes sur la base de données. Les requêtes sont séparées par un point-virgule.


Syntaxe

Style orienté objet :

$mysqli -> multi_query( query )

Style procédural :

mysqli_multi_query( connection, query )

Valeurs des Paramètres

Paramètre Description
connection Requis. Spécifie la connexion MySQL à utiliser
query Requis. Spécifie une ou plusieurs requêtes, séparées par un point-virgule

Détails Techniques

Valeur de Retour : FALSE si la première requête échoue
Version PHP : 5+

Exemple - Style procédural

Effectuer plusieurs requêtes sur la base de données :

<?php
$con = mysqli_connect("localhost","my_user","my_password","my_db");

if (mysqli_connect_errno()) {
echo "Échec de la connexion à MySQL : " . mysqli_connect_error();
exit();
}

$sql = "SELECT Lastname FROM Persons ORDER BY LastName;";
$sql .= "SELECT Country FROM Customers";

// Exécuter la requête multiple
if (mysqli_multi_query($con, $sql)) {
do {
// Stocker le premier ensemble de résultats
if ($result = mysqli_store_result($con)) {
while ($row = mysqli_fetch_row($result)) {
printf("%s\n", $row[0]);
}
mysqli_free_result($result);
}
// s'il y a d'autres ensembles de résultats, imprimer un séparateur
if (mysqli_more_results($con)) {
printf("-------------\n");
}
// Préparer le prochain ensemble de résultats
} while (mysqli_next_result($con));
}

mysqli_close($con);
?>


❮ Référence PHP MySQLi