Voglio capire che cosa mysqli_store_result
In realtà funziona? Quando ho visitato il PHP Manual di mysqli_store_result
, ho trovato la definitonCosa fa mysqli_store_result() Effettivamente?
mysqli_store_result — Transfers a result set from the last query
La domanda è dove si trasferisce impostato il risultato? In realtà ricevevo l'errore "Commands out of sync; you can't run this command now"
dopo l'esecuzione di mysqli_multi_query
Ma quando ho usato il seguente metodo, l'errore è scomparso.
mysqli_multi_query($connection,$query);
do
{
mysqli_store_result($connection);
}
while(mysqli_next_result($connection));
Ora, si usa questo mysqli_store_result($connection)
e mysqli_next_result($connection)
dopo ogni mysqli_query
o subito dopo mysqli_multi_query
perché ho letto in PHP Manaul che
"Anche se è sempre buona pratica per liberare la memoria utilizzata da il risultato di di una query che utilizza la funzione mysqli_free_result(), quando trasferisce set di risultati di grandi dimensioni utilizzando mysqli_store_result() questo diventa particolarmente importante. "
Fonte: PHP: mysqli_store_result
un'altra domanda sorge quando ho eseguito i suddetti mysqli_multi_query($connection,$query);
ho messo una dichiarazione echo 'storing result <br />'
come qui di seguito
do
{
echo 'storing result <br />
mysqli_store_result($connection);
}
while(mysqli_next_result($connection));
anche se c'erano solo due query INSERISCI nella query $, ma Ha dato il seguente output
storing result
storing result
storing result
storing result
Significa che sono stati trasferiti quattro set di risultati. Non riesco a capire questa situazione. Un'ultima domanda. Il processo do while
sopra indicato influirà sulle prestazioni?
Si prega di inviare il vostro 'stringa $ query' che produce il risultato inaspettato. – mickmackusa