Salve a tutti, ho da porvi un domanda, date uno sguardo al esguente codice:
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:<?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();?>
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!)codice:$result = $mysqli->query($query); $dummy_result = $result;
Grazie a tutti per l'attenzione![]()

, ho da porvi un domanda, date uno sguardo al esguente codice:
Rispondi quotando