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 :

Erreur de base [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 28
    Par défaut Erreur de base
    A parcourir les topics, j'ai vu que je suis loin d'être le première a avoir ce problème... Et probablement loin d'être le dernier.

    Tout d'abord, voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?php
    mysql_connect("localhost", "root", ""); 
    // Connexion à MySQL
    mysql_select_db("info_perso"); 
    // Sélection de la table
    $sql ='SELECT mot_de_passe FROM info_perso where pseudo="Shunsui Kyoraku"'; 
    // on définit la requète SQL
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
    // on la lance et on met un message d'erreur si ça en marche pas
    $data = mysql_fetch_array($req); 
    // on récupère le résultat sous la forme d'un array
    ?>
     
    <?php echo $data['mot_de_passe']; ?>
     //on affiche le mot de passe
    Le principe est simple, il s'agit de récupérer pour le Joueur Kyoraku Shunsui de récupérer son mot de passe.

    Or, le message d'erreur qui s'affiche est:
    Erreur SQL !
    SELECT mot_de_passe FROM info_perso where pseudo="Shunsui Kyoraku"

    No database selected
    Ce qui est en rouge, je le comprend assez bien, vu que c'est moi qui ai demandé de l'écrire.

    Mais le "No database selected"... J'en sélectionne pourtant bien une (info_perso) qui existe et la connexion MySQL marche...

  2. #2
    Membre Expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Par défaut
    la connexion a la base sql s'est passé correctement?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 28
    Par défaut
    Apparemment, oui. Tout du moins, je n'ai eu aucun message d'erreur.

  4. #4
    Membre émérite Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Par défaut
    Bonjour

    Normal que ta database porte le même nom que ta table ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    mysql_select_db("info_perso"); 
    // Sélection de la table
    $sql ='SELECT mot_de_passe FROM info_perso where pseudo="Shunsui Kyoraku"';
    La réponse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Erreur SQL !
    SELECT mot_de_passe FROM info_perso where pseudo="Shunsui Kyoraku"
    No database selected 

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 28
    Par défaut
    Effectivement, il s'agissait d'une erreur de ma part.

    Cela dit, un autre problème se pose désormais... (quand y'en a plus y'en a encore x)

    Rappel du code corrigé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?php
    mysql_connect("localhost", "root", ""); 
    // Connexion à MySQL
    mysql_select_db("test"); 
    // Sélection de la table
    $sql ='SELECT mot_de_passe FROM info_perso where pseudo="Shunsui Kyoraku"'; 
    // on définit la requète SQL
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
    // on la lance et on met un message d'erreur si ça en marche pas
    $data = mysql_fetch_array($req); 
    // on récupère le résultat sous la forme d'un array
    ?>
     
    <?php echo $data['mot_de_passe']; ?>
     //on affiche le mot de passe

    Rien ne s'affiche. Page blanche. Cependant, si je remplace

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $data['mot_de_passe'];
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "Ton mot de passe est $data[mot_de_passe]";
    La page m'affiche simplement "ton mot de passe est".
    Aucun message d'erreur ne s'affiche, j'en déduis que le processus se déroule bien... De plus, ma fonction echo marche... Mais la variable $data['mot_de_passe'] reste invisible.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 28
    Par défaut
    De plus, si j'utilise l'id pour effectuer ma requête

    (soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT mot_de_passe FROM info_perso WHERE id="1"
    )

    Le bon mot de passe est renvoyé et il s'affiche!

    J'en déduis que l'erreur doit être liée au camp mot_de_passe au au nom de l'utilisateur... Cela dit la syntaxe des deux éléments est correcte.

  7. #7
    Membre émérite Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 28
    Par défaut
    Bon... Eh bien finalement ça marche maintenant que je réessaye avec "pseudo".

    J'avais probablement du oublier un point-virgule crucial ou quelque chose du genre dans ma première instruction.

    AH, les miracles de l'informatique...

    En tout cas, merci de votre aide qui à quand même permis de résoudre la première partie du problème =)

  9. #9
    Membre émérite Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Par défaut
    Citation Envoyé par Snap luvs pastèque Voir le message
    J'avais probablement du oublier un point-virgule crucial

    Et surtout oublié le nom de ta database.
    Bye.

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

Discussions similaires

  1. erreur acces base de donnée.
    Par Phiss dans le forum ASP
    Réponses: 8
    Dernier message: 08/11/2006, 10h49
  2. erreur connexion base de données access
    Par Adren dans le forum ASP
    Réponses: 17
    Dernier message: 22/06/2006, 08h34
  3. erreur importation base
    Par biloute73 dans le forum Requêtes
    Réponses: 1
    Dernier message: 21/06/2006, 14h12
  4. [VB] (débutant) erreur accès base de registre
    Par bandit boy dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 24/02/2006, 13h15
  5. Réponses: 2
    Dernier message: 19/06/2003, 21h58

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