Salve a tutti , ho da porvi un domanda, date uno sguardo al esguente codice:
codice:
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* check connection */
if (mysqli_connect_errno())
{
   printf("Connect failed: %s", mysqli_connect_error());
   exit();
} $query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";
if ($result = $mysqli->query($query)) {
   /* fetch associative array */
   while ($row = $result->fetch_assoc()) {
       printf ("%s (%s)", $row["Name"], $row["CountryCode"]);   
   }
/*ciclo senza stampa perchè il puntatore dell'oggetto result è già a null a causa del ciclo precedente*/   
while ($row = $result->fetch_assoc()) {
       printf ("%s (%s)", $row["Name"], $row["CountryCode"]);   
}   
/* free result set */
   $result->close();
}
/* close connection */
$mysqli->close();?>
Come vedete ci sono due cicli che agiscono sullo stesso $result, chiaramente il secondo non mi stamperà nulla perchè $result ha già subito un ciclo con fetch->assoc che lo ha portato a puntare a null. Domanda: esiste una funzione che mi riporta il puntatore di $result allo stato iniziale? oppure l'unica via è:

codice:
$result = $mysqli->query($query);
$dummy_result = $result;
usando $dummy_result per i cicli? (in teoria essendo result una classe e avendo metodi e attributi fetch_assoc non dovrebbe far altro che incrementare un attributo puntatore dell'oggetto $result quindi a rigor di logica metodo che mi rimetta il puntatore nella prima posizione dovrebbe esserci -_-' bho!)

Grazie a tutti per l'attenzione