le $row permet de récupérer une ligne de résulat sous la forme d'un tableau , le while permet de récupérer toutes les lignes car le $row n'effectue qu'un seule boucle ? c'est bien ça ?
Maitenant est il necessaire d'utiliser le while , sachant qu'un row est appelé pour chaques variables ?
> le while permet de récupérer toutes les lignes car le $row n'effectue qu'un seule boucle ?
Comme tu le dis toi-même juste avant : un fetch (mysqli_fetch_array) = lecture d'une ligne retournée par la requête, d'où la nécessité, ici, d'avoir une boucle pour parcourir l'ensemble de celles-ci. Le while permet donc de lire tour à tour une ligne renvoyée par la requête jusqu'à atteindre la fin du jeu résultat (ie qu'il n'y en ait plus à lire).
On ne met pas de while si on attend au plus une ligne du résultat de la requête (requête avec une clause LIMIT 1, une fonction d’agrégation - MAX/SUM/MIN/AVG/... - mais sans clause GROUP BY, avec une clause WHERE qui porte sur une clé primaire ou unique, etc)
N'hésites pas à faire des var_dump de tes variables, ça aide à visualiser ce qu'il se passe et à vérifier leur contenu par rapport à ce que l'on attend.
D'ailleurs tu aurais simplement pu faire le test en commentant ou supprimant ta boucle while, tu aurais alors dû voir et comprendre que tu ne faisais que lire et traiter une ligne (la première) renvoyée par ta requête.
J'espère avoir compris ta question et avoir su t'apporter l'explication que tu attendais.
Franchement merci beaucoup Julp , explication claire net et précise !
J'ai bien compris maintenant !
mysqli_fetch_array
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli