Maison > base de données > tutoriel mysql > Comment corriger l'erreur « Commandes désynchronisées » dans les requêtes PHP MySQL ?

Comment corriger l'erreur « Commandes désynchronisées » dans les requêtes PHP MySQL ?

Mary-Kate Olsen
Libérer: 2025-01-23 01:01:09
original
613 Les gens l'ont consulté

How to Fix the

Dépannage des erreurs « Commandes non synchronisées » dans les requêtes PHP MySQL

Lorsque vous travaillez avec PHP et MySQL, vous pouvez rencontrer l'erreur frustrante « Commandes désynchronisées ; vous ne pouvez pas exécuter cette commande maintenant ». Cela se produit généralement lors de l'exécution consécutive de plusieurs requêtes MySQL sans gestion appropriée de leur nature asynchrone. Le principal problème réside dans le comportement par défaut sans tampon des mysqli requêtes.

Il existe deux solutions efficaces pour résoudre ce problème :

  1. Traitez les résultats de la première requête : Exécutez votre requête initiale à l'aide de $con->query() et stockez les résultats dans un tableau. Les opérations suivantes doivent ensuite parcourir ce tableau, garantissant que chaque action est effectuée indépendamment.

  2. Employer la mise en mémoire tampon de requête : Utilisez la méthode store_result() dans votre instruction préparée. Cela oblige mysqli à mettre en mémoire tampon les résultats de la requête, évitant ainsi le problème des « Commandes désynchronisées » en évitant la récupération de lignes à la demande.

Voici un exemple illustrant la mise en mémoire tampon des requêtes :

<code class="language-php">$countQuery = "SELECT ARTICLE_NO FROM AUCTIONS WHERE upper(ARTICLE_NAME) LIKE % ?%";
if ($numRecords = $con->prepare($countQuery)) {
    $numRecords->bind_param("s", $brand);
    $numRecords->execute();
    $numRecords->store_result(); // Buffer the results
    $data = $con->query($countQuery);
    $rowcount = $data->num_rows;
    // Proceed with your application logic
}</code>
Copier après la connexion

N'oubliez pas que l'activation de la mise en mémoire tampon des requêtes peut augmenter la consommation de mémoire lorsque vous traitez des ensembles de données volumineux. Choisissez la méthode la mieux adaptée à votre volume de données et aux exigences de votre application.

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