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();
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);
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);
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();
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 }
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!