mysqli::multi_query

mysqli_multi_query

(PHP 5)

mysqli::multi_query -- mysqli_multi_queryExécute une requête MySQL multiple

Description

Style orienté objet

bool mysqli::multi_query ( string $query )

Style procédural

bool mysqli_multi_query ( mysqli $link , string $query )

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

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

LoadingChargement en cours