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 :

FetchAll qui ne retourne rien [PDO]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut FetchAll qui ne retourne rien
    Bonjour,

    j'interroge avec PDO une bdd MySQL et le FetchAll ne retourne rien alors que la requête testée dans PHPMyAdmin (avec une valeur correcte puisque requête préparée) est valide. Où est mon bug ?

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function aff_infos($str,$query,$marqueur,$qid,$id) {
    global $bdd;
     
    $qid = $bdd->prepare($query);
    $qid->execute(array($marqueur));
    $row=$qid->FetchAll(PDO::FETCH_ASSOC);var_dump($row);
    ...
    Et le var_dump est vide...(Un debug montre que toutes les variables sont correctes sauf $row)

  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 vaut $query et pourquoi y a t'il un $qid passé en paramètre ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $query='SELECT machines.name,machines.id,infotech.* FROM machines,infotech
    	  WHERE machines.id=:id AND machines.name=infotech.name' ;/*dans le cas où ça ne marche pas car j'appelle la fonction 2 fois et pour l'autre ça marche*/
    //$qid, c'était historique ; comme il ne sert plus à rien, je l'ai retiré :
    function aff_infos($str,$query,$marqueur,$id) {
    global $bdd;
    $qid = $bdd->prepare($query);
    $qid->execute(array($marqueur));var_dump($qid);
    ...
    Le problème reste...

  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
    Que vaut $marqueur ? A quoi sert $id en paramètres ?

    Au passage une jointure s'écrit avec JOIN
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $query='SELECT machines.name,machines.id,infotech.* FROM machines
              JOIN infotech ON machines.name=infotech.name
    	  WHERE machines.id=:id';
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Merci pour la correction de la requête.

    En te répondant, j'ai fait une petite correction qui a induit une régression. De ce fait, plus aucun appel à la fonction ne marche. Mais le problème reste le même :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $query = "SELECT * FROM `machines` where name=:name";//ultra simple donc plus de jointure
    $marqueur=array(':name'=>$selected_machine);
    Du reste, j'ai un peu modifié le code et $id n'est plus utilisée, donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function aff_infos($str,$query,$marqueur) {
    global $bdd;
    $qid = $bdd->prepare($query);
    $qid->execute(array($marqueur));
    ...

  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
    $marqueur est déjà un tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    qid->execute($marqueur);
    Je serai très surpris que ce problème ne lève pas une erreur PDO ; sous reserve qu'on les active quand on debugue.
    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. Select qui ne retourne rien
    Par hunter001 dans le forum SQL
    Réponses: 2
    Dernier message: 12/06/2007, 11h37
  2. fonction qui ne retourne rien, comment c'est possible ?
    Par lOeil dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 02/06/2007, 00h51
  3. Requête qui ne retourne rien
    Par afrique dans le forum Administration
    Réponses: 4
    Dernier message: 02/10/2006, 18h19
  4. [MySQL] Requête qui ne retourne rien
    Par baleiney dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 28/06/2006, 18h29
  5. SELECT qui ne retourne rien à cause d'anti-slash
    Par mikyfpc dans le forum Outils
    Réponses: 8
    Dernier message: 07/08/2005, 23h04

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