Maison > base de données > tutoriel mysql > Comment puis-je exécuter plusieurs requêtes MySQL simultanément en PHP et gérer des ensembles de résultats séparés ?

Comment puis-je exécuter plusieurs requêtes MySQL simultanément en PHP et gérer des ensembles de résultats séparés ?

Susan Sarandon
Libérer: 2024-12-18 12:01:11
original
378 Les gens l'ont consulté

How Can I Execute Multiple MySQL Queries Simultaneously in PHP and Handle Separate Result Sets?

Exécuter plusieurs requêtes MySQL en une seule dans PHP/MySQL

Introduction

Exécuter plusieurs requêtes SQL les requêtes simultanées peuvent améliorer l’efficacité du traitement de la base de données. Cet article explique comment exécuter deux requêtes MySQL comme une seule dans PHP/MySQL, répondant ainsi à la nécessité de gérer efficacement des ensembles de résultats distincts.

Définition du problème

Considérez les deux suivants Requêtes MySQL :

SELECT SQL_CALC_FOUND_ROWS Id, Name FROM my_table WHERE Name LIKE '%prashant%' LIMIT 0, 10;
SELECT FOUND_ROWS();
Copier après la connexion

La première requête récupère les données de my_table et la deuxième requête calcule le nombre total de lignes dans le tableau.

Exécution PHP

Généralement, ces requêtes sont exécutées séparément à l'aide de la fonction mysql_query(). Cependant, cette approche ne permet pas de gérer les ensembles de résultats individuels séparément.

$result1 = mysql_query($query1);
$result2 = mysql_query($query2);
Copier après la connexion

Exécution de requêtes multiples

Pour exécuter les deux requêtes en une seule tentative, la fonction mysqli_multi_query() peut être utilisée. Cette fonction permet d'exécuter plusieurs requêtes de manière séquentielle :

$mysqli = new mysqli('hostname', 'username', 'password', 'database_name');

mysqli_multi_query($mysqli, $query1 . ';' . $query2);
Copier après la connexion

Gestion des ensembles de résultats

Après l'exécution des requêtes, les ensembles de résultats peuvent être récupérés à l'aide de mysqli_store_result() function :

$result1 = $mysqli->store_result();
$result2 = $mysqli->store_result();
Copier après la connexion

Maintenant, vous pouvez parcourir chaque ensemble de résultats individuellement, de la même manière géré dans ASP.NET à l'aide d'ensembles de données :

while ($row1 = $result1->fetch_assoc()) {
    // Process row data from the first query
}

while ($row2 = $result2->fetch_assoc()) {
    // Process row data from the second query
}
Copier après la connexion

Remarque

Il est important de noter que la fonction mysqli_multi_query() ne doit être utilisée que lorsque les requêtes individuelles sont indépendants et ne dépendent pas des résultats de chacun.

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