IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

prepare() et fetchall produisent des tableaux un peu trop complexes [PDO]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de php_de_travers
    Inscrit en
    Juin 2004
    Messages
    460
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 460
    Par défaut prepare() et fetchall produisent des tableaux un peu trop complexes
    Bonjour,

    dans le tuto de Yogui
    http://php.developpez.com/faq/?page=pdo#pdo-query

    on crée une requête sql, on la prepare() puis on l'execute().
    Mais au final, le tout est soigneusement emballé dans des tableaux emboîtés.
    Ce "sur-emballage" est-il systématique ?
    Si non, comme créer des tableaux moins emboîtés ?
    Si oui, comment aller chercher les infos ?

    PDO, ça me fait un peu penser à l'Everest.
    Faut pas l'attaquer sa préparation.

    Question subsidiaire : où lire un ouvrage du type "PDO pour les nuls"

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Que veux-tu dire exactement sur l'imbriquement ?

    Le tableau de prepare() c'est argument=>valeur
    Le retour de fetchall() c'est clef=>valeurs
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé Avatar de php_de_travers
    Inscrit en
    Juin 2004
    Messages
    460
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 460
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Que veux-tu dire exactement sur l'imbriquement ?

    Le tableau de prepare() c'est argument=>valeur
    Le retour de fetchall() c'est clef=>valeurs
    On a affaire à 2 types de tableaux, semble-t-il.
    Existe-t-il une façon simple simple de lire les tableaux générés par prepare() et par fetchall() ?
    Je manque cruellement d'information sur PDO.

    Edit 1 : ne vaudrait-il mieux pas passer par fetch(PDO::FETCH_OBJ) pour récupérer une seule ligne et plus facilement ?

    Edit 2 : FONCTIONNE COMME JE SOUHAITE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $sth->execute(array( $toto ));
    				$lignes=$sth->fetch(PDO::FETCH_OBJ);
    				echo $lignes->nomdemonchamp.'<br />';

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Pour lire le retour de fetchall un simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    foreach($tableau as $liste_colonnes)
    Pour prepare je ne vois pas de quoi tu parles puisqu'il ne retourne pas un tableau.

    Si tu veut recuperer ligne par ligne, tu peux faire un simple ->fetch()
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éclairé Avatar de php_de_travers
    Inscrit en
    Juin 2004
    Messages
    460
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 460
    Par défaut
    Merci sabotage,

    j'arrive à présent à faire fonctionner mon script avec fetch(PDO::FETCH_OBJ);
    Pas avec fetch() vide.

    PS : PDO c'est très puissant, mais c'est vraiment opaque quand on improvise. Pourtant, je ne cherche pas à faire des miracles avec : select, insert, update. C'est tout.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Peut etre pourrais-tu nous detailler ce qui te pose probleme.
    PDO c'est au contraire très semblable dans le principe aux anciennes extension mysql_ mssql_ etc.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. J’ai des interfaces un peu trop « tartes »
    Par bvsud dans le forum Débuter
    Réponses: 15
    Dernier message: 14/04/2015, 20h11
  2. UPDATE/SELECT un peu trop complexe pour moi
    Par Yateri dans le forum Langage SQL
    Réponses: 5
    Dernier message: 13/08/2010, 15h17
  3. [Debutant][Un peu perdue] Des tableaux, des feuilles..
    Par coco21 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/07/2007, 08h38
  4. Réponses: 2
    Dernier message: 19/08/2003, 18h04
  5. free sur des tableaux "a moitié dynamiques"
    Par barthelv dans le forum C
    Réponses: 4
    Dernier message: 31/07/2003, 15h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo