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 :

Soucis de reconnaissance de données


Sujet :

Requêtes MySQL

  1. #1
    Membre régulier Avatar de thibane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2007
    Messages : 143
    Points : 83
    Points
    83
    Par défaut Soucis de reconnaissance de données
    Bonjour à tous.

    J'ai un soucis super bizarre. Je vous expose la situation.
    J'ai une table 'realisateur' toute bête avec :
    n_real int CLE PRIMAIRE
    prenom TEXT
    nom TEXT

    Dans un formulaire, je récupère le prénom et le nom à entrer dans la base par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $nom_real = $_POST['nom_real'] ;
    $prenom_real= $_POST['prenom_real'] ;
    Le problème surgit dans la recherche de ce réalisateur dans la base car il ne reconnait rien!
    Voici ma requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $req =  "SELECT * FROM realisateur WHERE prenom = '$prenom_real' AND nom = '$nom_real' " ;
    $sql = mysql_query($req,$link) or die (mysql_error()) ;
    $nbr_real = mysql_num_rows($sql) ;
    J'ai même essayé de cette manière ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $req =  "SELECT * FROM realisateur WHERE prenom LIKE '%$prenom_real%' AND nom LIKE '%$nom_real%' " ;
    $sql = mysql_query($req,$link) or die (mysql_error()) ;
    $nbr_real = mysql_num_rows($sql) ;
    Et ca ne marche toujours pas! Je n'ai absolument rien dans $nbr_real donc tout le traitement derrière est mort.

    Je ne comprends pas du tout ce qu'il se passe, j'espère que qqun pourra m'éclairer.

    Bonne journée.

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 937
    Points : 4 358
    Points
    4 358
    Par défaut
    Citation Envoyé par thibane
    Bonjour à tous.

    J'ai un soucis super bizarre. Je vous expose la situation.
    J'ai une table 'realisateur' toute bête avec :
    n_real int CLE PRIMAIRE
    prenom TEXT
    nom TEXT

    Dans un formulaire, je récupère le prénom et le nom à entrer dans la base par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $nom_real = $_POST['nom_real'] ;
    $prenom_real= $_POST['prenom_real'] ;
    Le problème surgit dans la recherche de ce réalisateur dans la base car il ne reconnait rien!
    Voici ma requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $req =  "SELECT * FROM realisateur WHERE prenom = '$prenom_real' AND nom = '$nom_real' " ;
    $sql = mysql_query($req,$link) or die (mysql_error()) ;
    $nbr_real = mysql_num_rows($sql) ;
    ne pas escaper les données rentrées par l'utilisateur avant de les injecter dans une requête SQL est déjà une mauvaise idée…
    utilisez au moins addslashes() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $req = "SELECT * FROM realisateur WHERE prenom = '".addslashes($prenom_real)."' AND nom = '".addslashes($nom_real)."' " ;
    ensuite vérifiez bien que l'encoding choisi pour la db supporte les caractères accentués de manière cohérente vis-à-vis de l'encodage de vos formulaires et scripts…

    faites un echo du SQL généré et testez-le "à la main" (dans mysqladmin ou directement en console mysql)

  3. #3
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 281
    Points : 11 737
    Points
    11 737
    Par défaut
    Commençons par un peu de debugging basique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $req =  "SELECT * FROM realisateur WHERE prenom = '$prenom_real' AND nom = '$nom_real' " ;
    echo "Requête : $req<br>" ;
    $sql = mysql_query($req,$link) OR die (mysql_error($link)) ;
    $nbr_real = mysql_num_rows($sql) ;
    echo "nb résu = $nbr_real<br>" ;
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

Discussions similaires

  1. Souci de transfert de données
    Par Castor SQL dans le forum Développement
    Réponses: 1
    Dernier message: 05/05/2009, 11h07
  2. Réponses: 4
    Dernier message: 27/04/2009, 13h32
  3. Souci pour sortir des Données
    Par Plopcool dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 13/01/2009, 10h08
  4. Soucis d'accès au données avec IIS
    Par Rouge_XIII dans le forum Accès aux données
    Réponses: 1
    Dernier message: 14/10/2006, 17h28
  5. souci sur ajout de données de zone de liste
    Par Tierisa dans le forum IHM
    Réponses: 6
    Dernier message: 27/09/2005, 08h30

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