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

Langage PHP Discussion :

31440 est présent sans l'être


Sujet :

Langage PHP

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

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 339
    Points : 5 723
    Points
    5 723
    Billets dans le blog
    1
    Par défaut 31440 est présent sans l'être
    Bonsoir,
    le titre est un peu bizarre et pourtant, c'est la conclusion que je tire de mon code...

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        $sql="SELECT COUNT(sesa) as yes_or_no  FROM `users` WHERE sesa = :val";
        $user=$bdd->select( $sql, [':val' => $val] );
        $yes_or_no=$user[0]['yes_or_no'];
        echo "val 191 yes_or_no=". $yes_or_no."<br/>";

    affiche
    val 191 yes_or_no=0
    alors que dans phpMyAdmin, la même requête affiche 1.
    Ici $val vaut 31440....

    Comment expliquer cela ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    salut,

    tout simplement parce que par défaut tous les paramètres PDO sont interprétés comme des \PDO::PARAM_STRING.
    Dans ton cas de figure c'est un entier.
    Essaie comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $user = $bdd->select($sql, [':val' => $val], [':val' => \PDO::PARAM_INT]);

  3. #3
    Membre actif Avatar de Trehinos
    Homme Profil pro
    Analyste développeur PHP
    Inscrit en
    Novembre 2012
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Analyste développeur PHP
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2012
    Messages : 99
    Points : 228
    Points
    228
    Par défaut
    $bdd, c'est quoi ? Un wrapper de Pdo ?
    Si vous faites SELECT ... WHERE sesa = '31440', dans PHPMyAdmin ça donne quoi ?
    Les guillemets pour considérer une chaîne plutôt qu'un nombre, peut être la classe qu'instancie $bdd transforme la valeur...

    EDIT : rawsrc a répondu, c'est sûr que c'est le type. Si j'ai bien compris c'est le tuto de raw ^^

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

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 339
    Points : 5 723
    Points
    5 723
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    j'ai pu tester hier soir mais n'ai pas eu le temps de vous répondre. J'ai bien fait la correction indiquée par rawsrc, mais ça ne corrigeait pas. Néanmoins, ça m'a fait chercher au bon endroit, et c'est corrigé (ça date de hier soir et j'ai oublié comment...)

    @Trehinos : il s'agit bien d'une classe développée par rawsrc
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

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

Discussions similaires

  1. std::map tester si une clé est présente
    Par mister3957 dans le forum SL & STL
    Réponses: 2
    Dernier message: 08/04/2006, 13h31
  2. [VBA-E] Vérifier si une suite de caractère est présente
    Par Mut dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 21/03/2006, 11h44
  3. Réponses: 4
    Dernier message: 01/07/2005, 17h20
  4. [Liste] Savoir si un élément est présent dans une liste
    Par Wookai dans le forum Collection et Stream
    Réponses: 11
    Dernier message: 02/05/2005, 21h44

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