Maison > base de données > tutoriel mysql > Comment puis-je exécuter et récupérer efficacement les résultats de plusieurs requêtes MySQL dans un seul script PHP ?

Comment puis-je exécuter et récupérer efficacement les résultats de plusieurs requêtes MySQL dans un seul script PHP ?

Patricia Arquette
Libérer: 2024-12-09 15:32:12
original
345 Les gens l'ont consulté

How Can I Efficiently Execute and Retrieve Results from Multiple MySQL Queries in a Single PHP Script?

Exécution de requêtes multiples en PHP avec MySQL

Cette question explore le défi d'exécuter plusieurs requêtes MySQL dans un seul script PHP et de récupérer les requêtes combinées résultats.

Un utilisateur a fourni un script qui incluait plusieurs requêtes séparées par des points-virgules, mais n'a pas pu récupérer les résultats en utilisant mysql_fetch_array().

La solution de php.net suggère d'utiliser mysqli_multi_query(), qui vous permet d'exécuter des requêtes concaténées au sein d'un seul appel de fonction. Voici un exemple :

if (mysqli_multi_query($link, $query)) {
  do {
    if ($result = mysqli_store_result($link)) {
      while ($row = mysqli_fetch_array($result)) {
        // Process and print the results
      }
      mysqli_free_result($result);
    }
  } while (mysqli_next_result($link));
}
Copier après la connexion

Dans ce script, la fonction mysqli_multi_query() est utilisée pour exécuter les instructions SQL concaténées. La fonction mysqli_store_result() est ensuite utilisée pour récupérer le jeu de résultats de la requête exécutée. La fonction mysqli_fetch_array() est utilisée pour parcourir l'ensemble de résultats et récupérer les données ligne par ligne.

Au lieu d'exécuter plusieurs requêtes en un seul appel, l'utilisateur a également suggéré de les exécuter séparément et de récupérer les résultats. individuellement en utilisant mysqli_query() et mysqli_fetch_array().

$query1 = "Create temporary table A select c1 from t1";
$result1 = mysqli_query($link, $query1) or die(mysqli_error());

$query2 = "select c1 from A";
$result2 = mysqli_query($link, $query2) or die(mysqli_error());

while($row = mysqli_fetch_array($result2)) {
  // Process and print the results
}
Copier après la connexion

En tirant parti de l'un d'entre eux méthodes, les développeurs peuvent exécuter plusieurs requêtes MySQL dans un script PHP et récupérer les résultats combinés pour un traitement ultérieur.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal