Je veux comprendre que Qu'est-ce que mysqli_store_result
fait? Lorsque je me suis rendu le PHP Manual de mysqli_store_result
, j'ai trouvé le definitonQue fait réellement mysqli_store_result()?
mysqli_store_result — Transfers a result set from the last query
La question est où elle transfère le jeu de résultats? En fait, je recevais l'erreur "Commands out of sync; you can't run this command now"
après l'exécution mysqli_multi_query
Mais quand j'ai utilisé la méthode suivante, l'erreur disparue.
mysqli_multi_query($connection,$query);
do
{
mysqli_store_result($connection);
}
while(mysqli_next_result($connection));
Maintenant, Dois-je utiliser ce mysqli_store_result($connection)
et mysqli_next_result($connection)
après chaque mysqli_query
ou juste après mysqli_multi_query
Parce que j'ai lu en PHP Manaul que
« Bien qu'il soit toujours bon de libérer la mémoire utilisée par le résultat d'une requête en utilisant la fonction mysqli_free_result(), quand transférer de grands ensembles de résultats en utilisant le mysqli_store_result() ce devient particulièrement important. "
Source: PHP: mysqli_store_result
One More Question Surgit Quand j'exécutais l'mentionné ci-dessus mysqli_multi_query($connection,$query);
je mets une déclaration echo 'storing result <br />'
comme ci-dessous
do
{
echo 'storing result <br />
mysqli_store_result($connection);
}
while(mysqli_next_result($connection));
Bien qu'il n'y avait que deux requêtes INSERT dans la requête $, mais Il a donné la sortie suivante
storing result
storing result
storing result
storing result
Cela signifie que quatre ensembles de résultats ont été transférés. Je ne peux pas comprendre cette situation. Une dernière question. Est-ce que le processus do while
mentionné ci-dessus affecte la performance?
S'il vous plaît publier votre 'string $ query' qui produit le résultat inattendu. – mickmackusa