Maison > développement back-end > tutoriel php > Comment puis-je exécuter plusieurs requêtes MySQL indépendamment en PHP ?

Comment puis-je exécuter plusieurs requêtes MySQL indépendamment en PHP ?

DDD
Libérer: 2024-12-03 06:10:10
original
165 Les gens l'ont consulté

How Can I Execute Multiple MySQL Queries Independently in PHP?

Exécuter plusieurs requêtes MySQL en une seule à l'aide de PHP

Problème :

Vous devez exécuter deux requêtes MySQL distinctes et gérer leurs résultats indépendamment en PHP. Les requêtes sont :

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

Réponse :

En utilisant l'extension mysql_ standard en PHP, il n'est pas possible d'exécuter plusieurs requêtes en une seule transaction. Cependant, vous pouvez obtenir le résultat souhaité en suivant ces étapes :

  1. Exécutez la première requête :
$query1 = "SELECT SQL_CALC_FOUND_ROWS Id, Name FROM my_table WHERE Name LIKE '%prashant%' LIMIT 0, 10;";
$result1 = mysql_query($query1);
Copier après la connexion
  1. Exécuter le deuxième requête :
$query2 = "SELECT FOUND_ROWS();";
$result2 = mysql_query($query2);
Copier après la connexion
  1. Récupérer les résultats de la première requête :
$rows1 = mysql_fetch_all($result1, MYSQL_ASSOC);
Copier après la connexion
  1. Récupérer les résultats de la seconde requête :
$totalRows = mysql_fetch_row($result2)[0];
Copier après la connexion

En suivant ces étapes, vous pouvez exécuter les deux requêtes indépendamment et gérer leurs résultats séparément. Notez que cette approche n'est pas aussi efficace que de les exécuter en une seule transaction, mais c'est le seul moyen d'obtenir le résultat souhaité en utilisant l'extension mysql_.

Solution alternative (obsolète) :

Mise à jour : On pensait auparavant qu'il était possible d'exécuter plusieurs requêtes dans une seule instruction en utilisant la fonction mysql_connect() avec un drapeau. Cependant, cette méthode est obsolète et ne doit pas être utilisée.

Solution moderne :

Pour les applications PHP modernes, il est recommandé d'utiliser le PDO (PHP Data Objets) extension pour les interactions avec la base de données. PDO fournit un moyen plus orienté objet et plus cohérent d'exécuter des requêtes SQL et de récupérer leurs résultats. En utilisant PDO, vous pouvez exécuter les deux requêtes comme suit :

$pdo = new PDO('mysql:host=localhost;dbname=your_database', 'username', 'password');
$stmt1 = $pdo->prepare($query1);
$stmt2 = $pdo->prepare($query2);

$stmt1->execute();
$rows1 = $stmt1->fetchAll(PDO::FETCH_ASSOC);

$stmt2->execute();
$totalRows = $stmt2->fetchColumn();
Copier après la connexion

Cette solution est plus efficace et plus facile à utiliser que l'ancienne extension mysql_.

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