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