Paramétrage de PDOStatement::fetch

Résolu/Fermé
heliconius Messages postés 539 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 23 juin 2023 - 26 avril 2020 à 13:37
heliconius Messages postés 539 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 23 juin 2023 - 26 avril 2020 à 17:25
Bonjour,

je suis en train de réécrire tous mes scripts avec l'API PDO en remplacement de l'API mysql devenue obsolète. J'utilise rarement (sauf en cas de besoin absolu) les tableaux associatifs mais plutôt les objets.

De ce fait, après l'exécution d'une requête, pour traiter le résultat j'utilise la structure suivante :
while($r=$resultat->fetch(PDO::FETCH_OBJ)) {
	// ...
	// instructions
	// ...
}

Y a-t-il un moyen (par exemple lors de la connexion à la BDD) pour que la méthode fetch() aille une fois pour toutes et par défaut, chercher un objet plutôt qu'un tableau associatif (PDO::FETCH_OBJ plutôt que PDO::FETCH_ASSOC) de telle manière à éviter de réécrire à chaque fois PDO::FETCH_OBJ et pouvoir écrire la structure telle que :
while($r=$resultat->fetch()) {
	// ...
	// instructions
	// ...
}

quitte à pouvoir exceptionnellement en cas de besoin, aller chercher un tableau associatif avec :
while($r=$resultat->fetch(PDO::FETCH_ASSOC)) {
	// ...
	// instructions
	// ...
}

J'ai trouvé les différentes possibilité de paramétrer PDOStatement::fetch mais pas de définir le mode par défaut pour éviter de réécrire le mode à chaque fois.

La réponse existe-t-elle ?
Merci pour votre aide.


Configuration: Windows / Firefox 52.0

A voir également:

1 réponse

yg_be Messages postés 23361 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 novembre 2024 Ambassadeur 1 556
26 avril 2020 à 13:49
1
yg_be Messages postés 23361 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 novembre 2024 1 556
26 avril 2020 à 13:54
ou bien en utilisant une des deux méthodes expliquées ici: https://stackoverflow.com/questions/3893858/is-is-possible-to-set-a-default-pdo-fetch-mode
0
heliconius Messages postés 539 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 23 juin 2023 139 > yg_be Messages postés 23361 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 novembre 2024
26 avril 2020 à 17:25
Bonjour,

tu as fourni, en guise de réponse, deux liens. J'achète le second.
En effet dans le premier lien on ne précise pas le mode quand on va chercher les lignes de résultat mais, qu'on précise le mode après avoir exécuté la requête ou lorsqu'on va chercher les lignes, c'est toujours le préciser et ça ne change rien.

En revanche, dans le second lien, on précise effectivement le mode lors de la connexion et si le script contient 50 requêtes (j'exagère mais c'est pour le principe) on n'a plus à le répéter après chaque exécution ou chaque fois qu'on va chercher une ligne de résultat ; on ne le précise qu'une fois et ça correspond tout à fait à ce que je cherchais. Ce en quoi, je te remercie infiniment.

Merci donc et bonne fin de confinement...
Clôture du fil.
0