Mysql
 sql >> Base de données >  >> RDS >> Mysql

Mysqli_fetch_assoc($result), le pointeur passe à l'enregistrement suivant. Existe-t-il un moyen de réinitialiser le pointeur au début du résultat de la requête ?

J'étais donc coincé avec ce problème au travail aujourd'hui, et la seule solution que j'ai initialement trouvée était de réinterroger ou d'utiliser une copie temporaire du résultat mysql dans une variable. Ni l'un ni l'autre n'étaient attrayants.

Il existe une solution beaucoup plus simple à cela qui est mysql_data_seek.

La syntaxe de base est mysqli_data_seek(data,row)

Donc, dans ce cas, faites simplement

mysqli_data_seek($result,0)
$row=mysqli_fetch_assoc($result);// Will now return the first row.

De la même manière, vous pouvez également le parcourir à nouveau.

Cela fonctionne de la même manière avec mysql_data_seek. J'espère que cela vous a été utile.