Comment récupérer plusieurs jeux de résultats à partir d'une procédure stockée en PHP/mysqli ?

DDD
Libérer: 2024-11-01 18:45:02
original
826 Les gens l'ont consulté

How do you retrieve multiple result sets from a stored procedure in PHP/mysqli?

Récupération de plusieurs ensembles de résultats avec des procédures stockées en PHP/mysqli

En PHP/MySQLi, l'exécution d'une procédure stockée avec plusieurs ensembles de résultats nécessite une attention particulière manutention. Pour passer au deuxième ensemble de résultats après l'exécution de la procédure stockée, vous devez :

  1. Utiliser mysqli_stmt_execute : Exécuter la procédure stockée à l'aide de mysqli_stmt_execute.
  2. Récupérer le premier ensemble de résultats : Appeler mysqli_stmt_get_result pour obtenir le premier jeu de résultats et lire ses données à l'aide de fetch_assoc, fetch_array ou fetch_row.
  3. Passer au jeu de résultats suivant : Après avoir lu le premier jeu de résultats, appelez mysqli_stmt_next_result pour passer à le prochain résultat set.
  4. Récupérer le deuxième ensemble de résultats :Appelez à nouveau mysqli_stmt_get_result pour obtenir le deuxième ensemble de résultats et lire ses données.

Voici un exemple de code utilisant PHP/ MySQLi :

<code class="php">$stmt = mysqli_prepare($db, 'CALL multiples(?, ?)');
mysqli_stmt_bind_param($stmt, 'ii', $param1, $param2);
mysqli_stmt_execute($stmt);

// Fetch the first result set
$result1 = mysqli_stmt_get_result($stmt);
while ($row = $result1->fetch_assoc()) {
    printf("%d\n", $row['id']);
}

// Move to the second result set
mysqli_stmt_next_result($stmt);
$result2 = mysqli_stmt_get_result($stmt);
while ($row = $result2->fetch_assoc()) {
    printf("%d\n", $row['id']);
}

mysqli_stmt_close($stmt);</code>
Copier après la connexion

Ce code récupère et imprime avec succès les données des deux ensembles de résultats dans la procédure stockée spécifiée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal