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

Requêtes MySQL Discussion :

Le tréma pose problème dans une requête


Sujet :

Requêtes MySQL

  1. #1
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    513
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 513
    Par défaut Le tréma pose problème dans une requête
    Bonsoir

    J'ai une bizarrerie !

    j'ai une base de donnée avec nom prénom date de naissance.
    j'ai la requête suivante sur phpmyadmin elle répond correctement la bonne ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM adherents WHERE nom='BAUDRAM' AND prenom='Marie-Noël' AND date_naissance = '26/12/1948'
    mais la même requête lancée depuis php me renvoie zéro ligne
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    	echo"<pre> POST"; print_r($_POST);echo"<pre>";echo'<br/>';	
    	$nom= htmlentities($_POST['nom']);
    	$prenom= htmlentities($_POST['prenom']);
    	echo "prenom : ".$prenom;echo'<br/>';
    	echo "nom : ".$nom;echo'<br/>';
    	$date_naissance= htmlentities($_POST['date_naissance']);
    	echo"date naissance : ".$date_naissance;echo'<br/>';
    	$mdp=($_POST['mdp']);
    	$requete = 'SELECT * FROM adherents WHERE nom="?" AND prenom="?" AND date_naissance = "?"';
    	echo "requete : ". $requete ;echo'<br/>';
    	$retours = $liaison ->prepare($requete);
    	$retours->execute(array($nom, $prenom, $date_naissance));
    	$nb_ligne = $retours->rowCount();
    	echo "nb_ligne ".$nb_ligne;echo '<br/>';
    résultat
    POSTArray
    (
    [nom] => BAUDRAM
    [prenom] => Marie-Noël
    [date_naissance] => 26/12/1948
    [mdp] => 123456
    [mp_conf] => 123456
    )

    prenom : Marie-Noël
    nom : BAUDRAM
    date naissance : 26/12/1948
    requete : SELECT * FROM adherents WHERE nom="?" AND prenom="?" AND date_naissance = "?"
    nb_ligne 0
    Alors que si j'écris la requete dans PHP "en dur"
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	$requete = 'SELECT * FROM adherents WHERE nom="BAUDRAM" AND prenom="Marie-Noël" AND date_naissance = "26/12/1948"';
    	echo "requete : ". $requete ;echo'<br/>';
    	$retours = $liaison ->prepare($requete);
    	$retours->execute() ;  //(array($nom, $prenom, $date_naissance));
    et ça fonctionne bien
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT * 
    FROM adherents
    WHERE nom="BAUDRAM"
      AND prenom="Marie-Noël" 
      AND date_naissance = "26/12/1948"

    J'ai réussi à déterminer que c'était le tréma qui posait problème!
    si j'écris le nom sans tréma pas de problème.

    Merci d'avance pour votre aide

  2. #2
    Membre Expert
    Homme Profil pro
    tripatouilleur de code pour améliorer mon quotidien boulistique
    Inscrit en
    Février 2008
    Messages
    946
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : tripatouilleur de code pour améliorer mon quotidien boulistique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2008
    Messages : 946
    Par défaut
    Bonjour

    Sans doute un problème de collation.

    Voir :
    https://sqlpro.developpez.com/cours/...er/collations/

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    513
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 513
    Par défaut
    Bonjour

    merci pour votre intérêt

    J'ai trouvé le problème mais j'avoue ne pas bien comprendre pourquoi!
    dans le code j'utilise "htmlentities" pour protéger des malfaisants
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $prenom= htmlentities($_POST['prenom']);
    	echo "prenom : ".$prenom;echo'<br/>';
    à l'"echo" on ne voit rien comme problème mais c'est bien "htmlentities" qui pose problème j'ai remplacé par "htmlspecialchars" .

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

Discussions similaires

  1. Problème dans une requête
    Par clettebou dans le forum Requêtes
    Réponses: 2
    Dernier message: 14/10/2006, 20h03
  2. [Factoring_Clause]Problème dans une requête
    Par media dans le forum Oracle
    Réponses: 4
    Dernier message: 30/08/2006, 14h47
  3. [Access] Problème dans une requête SQL avec INNER JOIN ?
    Par bds2006 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 27/06/2006, 11h57
  4. Problème dans une requête SQL avec AS et ON ?
    Par bds2006 dans le forum Bases de données
    Réponses: 9
    Dernier message: 26/06/2006, 16h25
  5. problème dans une requête
    Par pierrOPSG dans le forum Langage SQL
    Réponses: 2
    Dernier message: 18/11/2005, 11h28

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