Ma question va peut-être surprendre, mais dans mon traitement j'ai besoin de savoir quand je suis arrivé à la dernière ligne de ma boucle while pour faire un autre traitement.
J'ai bien noté dans le cours de Mattéo que "fetch" renvoie false mais comment fait-on pour récupérer cette valeur false?
Copie ta ligne dans une autre variable en cours d'itération.
$derniere_ligne = null;
while ($ligne_courante = $stmt->fetch()) {
#foreach ($stmt as $ligne_courante) {
// ton code
$derniere_ligne = $ligne_courante;
}
if (!is_null($derniere_ligne)) {
// faire ton truc avec la dernière ligne
}
Avec un fetchAll (dont on évitera l'usage si la requête peut renvoyer un nombre de résultats important ou non maîtrisé - sans LIMIT), il suffit de regarder à l'indice count($array) - 1 (après s'être assuré qu'il n'est pas vide évidemment)
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli