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 :

PDO et exécution de requête paramétrée (aucun résultat ne s'affiche) [PDO]


Sujet :

PHP & Base de données

  1. #21
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 90
    Points : 54
    Points
    54
    Par défaut
    voici le résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    string 'SELECT * FROM membre WHERE numpol ='0000050' AND numcart ='0000000082'' (length=70)
    object(PDOStatement)[2]
      public 'queryString' => string 'SELECT * FROM membre WHERE numpol ='0000050' AND numcart ='0000000082'' (length=70)

  2. #22
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    et le fetchAll renvoie quelque chose ?

  3. #23
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 90
    Points : 54
    Points
    54
    Par défaut
    le fetchAll() , ramène un array vide

  4. #24
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    ok fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $sql = "SELECT * FROM membre WHERE numpol =".$cnx->quote($numpol, PDO::PARAM_STR)." AND numcart =".$cnx->quote($numcarte, PDO::PARAM_STR);
     
    $result = $cnx->query($sql);
     
    var_dump($sql, $result->fetchAll());
     
    $sql = "SELECT * FROM membre WHERE numpol ='0000050' AND numcart ='0000000082'";
     
    $result = $cnx->query($sql);
     
    var_dump($sql, $result->fetchAll());

  5. #25
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 90
    Points : 54
    Points
    54
    Par défaut
    lorsque j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM membre WHERE numpol ='0000050' AND numcart ='0000000082'
    directement dans Mysql, il ne ramène aucune ligne tandis qu'avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM membre WHERE numpol =0000050 AND numcart =0000000082
    il ramène une ligne.
    avec ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $sql = "SELECT * FROM membre WHERE numpol =".$cnx->quote($numpol, PDO::PARAM_STR)." AND numcart =".$cnx->quote($numcarte, PDO::PARAM_STR);
     
    $result = $cnx->query($sql);
     
    var_dump($sql, $result->fetchAll());
     
    $sql = "SELECT * FROM membre WHERE numpol ='0000050' AND numcart ='0000000082'";
     
    $result = $cnx->query($sql);
     
    var_dump($sql, $result->fetchAll());
    voici ce qu'il ramène
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    string 'SELECT * FROM membre WHERE numpol ='0000050' AND numcart ='0000000082'' (length=70)
    array
      empty
    string 'SELECT * FROM membre WHERE numpol ='0000050' AND numcart ='0000000082'' (length=70)
    array
      empty

  6. #26
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    oki, maintenant utilise plutôt, PDO::PARAM_INT

  7. #27
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 90
    Points : 54
    Points
    54
    Par défaut
    mes paramètres sont de type string, c'est pareil
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    string 'SELECT * FROM membre WHERE numpol ='0000050' AND numcart ='0000000082'' (length=70)
    array
      empty
    , peut on enlever les quotes ?

  8. #28
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par babacan Voir le message
    mes paramètres sont de types string
    pas grave, essaye

  9. #29
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 90
    Points : 54
    Points
    54
    Par défaut
    c'est pareil voici le résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    string 'SELECT * FROM membre WHERE numpol ='0000050' AND numcart ='0000000082'' (length=70)
    array
      empty
    , je crois que on enlève les quotes comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string 'SELECT * FROM membre WHERE numpol =0000050 AND numcart =0000000082'
    j'aurai une ligne renvoyée

  10. #30
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $sql = 'SELECT * FROM membre WHERE numpol =:pnumpol AND numcart =:pnumcart';
     
    $req = $cnx->prepare($sql);
     
    $req = $cnx->bindValue('pnumpol', $numpol, PDO::PARAM_INT);
    $req = $cnx->bindValue('numcart', $numcarte, PDO::PARAM_INT);
     
    $req->execute(); 
     
    $data = $req->fetchAll();

  11. #31
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 90
    Points : 54
    Points
    54
    Par défaut
    voici l'erreur qu'il m'affiche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fatal error: Call to undefined method PDO::bindValue() in

  12. #32
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    oui pardon c'est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $sql = 'SELECT * FROM membre WHERE numpol =:pnumpol AND numcart =:pnumcart';
     
    $req = $cnx->prepare($sql);
     
    $req->bindValue('pnumpol', (int) $numpol, PDO::PARAM_INT);
    $req->bindValue('pnumcart', (int) $numcarte, PDO::PARAM_INT);
     
    $req->execute(); 
     
    $data = $req->fetchAll();

  13. #33
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 90
    Points : 54
    Points
    54
    Par défaut
    Il m'affiche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: parameter was not defined' in C:\wamp\www\test\resultat.php on line 36
    ( ! ) PDOException: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in C:\wamp\www\test\resultat.php on line 36
    voici la ligne

  14. #34
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    met bien le pnumcart ligne 6

  15. #35
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 90
    Points : 54
    Points
    54
    Par défaut
    Merci je viens juste de voir ça

  16. #36
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 90
    Points : 54
    Points
    54
    Par défaut
    juste savoir pourquoi qu'il ne marche pas avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req->bindValue(':pnumcart',  $numcarte, PDO::PARAM_STR);$req->bindValue(':pnumpol',  $numpol, PDO::PARAM_STR);

  17. #37
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 90
    Points : 54
    Points
    54
    Par défaut
    Vraiment merci pour votre aide

  18. #38
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    parce que tes champs doivent être du type int, et ton serveur en mode strict

  19. #39
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 90
    Points : 54
    Points
    54
    Par défaut
    jusqu'à présent je n'arrive toujours pas à comprendre, dans ma base mes champs sont de type string, et là vous me dites que mes champs sont de type INT, aussi je n'arrive pas à comprendre le mode strict, peux tu m'expliquer? car dans la documentation de Mysql que j'ai lu il n'y a pas d'explication sur le mode strict

  20. #40
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    montre ton CREATE TABLE

    sinon : STRICT_ALL_TABLES
    http://dev.mysql.com/doc/refman/5.0/...-sql-mode.html

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. [ODBC] Exécuter une requête sur le résultat d'une autre
    Par che0po dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 14/05/2012, 11h29
  2. [PDO] PDO et exécution de requête
    Par redoran dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 26/02/2012, 15h54
  3. [WD10] exécution de requête paramétrée
    Par cool dans le forum WinDev
    Réponses: 4
    Dernier message: 22/10/2009, 14h46
  4. Requète paramétrée avec résultat variable
    Par slackjayo dans le forum Access
    Réponses: 2
    Dernier message: 28/04/2006, 20h39
  5. [ADO.Net][C#/Mysql] Comment exécuter une requête paramétrée?
    Par wremacle dans le forum Accès aux données
    Réponses: 6
    Dernier message: 07/02/2006, 16h55

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