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 :

Problème de connexion à la base MySQL


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 35
    Par défaut Problème de connexion à la base MySQL
    Bonjour,

    j'essaie de me connecter à ma base de donnée MySQL mais j'obtiens le message d'erreur suivant :

    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Notice: Undefined variable: sql_serveur in C:\Program Files\EasyPHP 2.0b1\www\hmi\login.php3 on line 4
    
    Notice: Undefined variable: sql_user in C:\Program Files\EasyPHP 2.0b1\www\hmi\login.php3 on line 4
    
    Notice: Undefined variable: sql_passwd in C:\Program Files\EasyPHP 2.0b1\www\hmi\login.php3 on line 4
    
    Warning: mysql_connect() [function.mysql-connect]: Accès refusé pour l'utilisateur: 'ODBC'@'@localhost' (mot de passe: NON) in C:\Program Files\EasyPHP 2.0b1\www\hmi\login.php3 on line 4
    
    Notice: Undefined variable: sql_bdd in C:\Program Files\EasyPHP 2.0b1\www\hmi\login.php3 on line 5
    
    Notice: Undefined variable: pseudo in C:\Program Files\EasyPHP 2.0b1\www\hmi\login.php3 on line 5
    
    Notice: Undefined variable: passe in C:\Program Files\EasyPHP 2.0b1\www\hmi\login.php3 on line 5
    
    Warning: mysql_db_query(): supplied argument is not a valid MySQL-Link resource in C:\Program Files\EasyPHP 2.0b1\www\hmi\login.php3 on line 5
    
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Program Files\EasyPHP 2.0b1\www\hmi\login.php3 on line 6
    
    Notice: Undefined variable: url_erreur in C:\Program Files\EasyPHP 2.0b1\www\hmi\login.php3 on line 8

    Voiçi mon script :
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    <?PHP
    require("./protec/passe/conf.php3");
     
    $db_link = mysql_connect($sql_serveur,$sql_user,$sql_passwd);
    $requete=mysql_db_query($sql_bdd,"select * from membre where pseudo=\"$pseudo\" and passe=\"$passe\"",$db_link);
    if(mysql_num_rows($requete)==0)
    	{
    	header("Location:$url_erreur");exit;
    	}
    else
    $destination=mysql_result($requete,$i,"destination");
    	{
    	$taille = 20;
    	$lettres = "abcdefghijklmnopqrstuvwxyz0123456789";
    	srand(time());
    	for ($i=0;$i<$taille;$i++)
    		{
    		$id.=substr($lettres,(rand()%(strlen($lettres))),1);
    		}
     
    	$requete=mysql_db_query($sql_bdd,"update membre set id=\"$id\" where pseudo=\"$pseudo\" and passe=\"$passe\"",$db_link);
     
    	header("Location:$destination?id=$id");
    	}	
     
    mysql_close($db_link);
    ?>
     
    Et voiçi mon script de conf.php3:
    <?
    /*-----------------------------------------------------------------*/
    /*LES VARIABLES A MODIFIER :
    /*-----------------------------------------------------------------*/
     
    // SERVEUR SQL
    $sql_serveur="localhost";
     
    // LOGIN SQL
    $sql_user="root";
     
    // MOT DE PASSE SQL
    $sql_passwd="";
     
    // NOM DE LA BASE DE DONNEES
    $sql_bdd="###";
     
    // SI L'UTILISATEUR ENTRE UN LOGIN OU MOT DE PASSE ERRONNE, DIRECTION VERS LA PAGE :
    $url_erreur="erreur.htm";
     
    //CECI EST LE MOT DE PASSE DE L'ADMINISTRATEUR QUI SERT A EMPECHER UN MEMBRE D'ACCEDER 
    // a l'ADMINISTRATION (si vous le changez ici, changez le aussi dans l'admin en faisant
    // "Voir/Modifier un membre", entrer votre ID (si vous n'y avez pas touché, c'est le "1")
    // Puis changer votre mot de passe).
     
    $motdepasse="####";
    ?>
    Pourriez vous m'aider?

    Merci d'avance.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 280
    Par défaut
    premièrement est tu en local ou pas ?? il me semble que oui

    sait tu que la connection en local c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    mysql_connect("localhost","root","");
    mysql_select_db("ta bdd");
    ps : utilise la balise code (#)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 35
    Par défaut oui c bien ce que j'ai mis
    Oui si tu regardes bien le script (celui de conf.php3 est sous le premier).

    Franchement je ne comprend pas...

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 280
    Par défaut
    oui a tu bien mit les bon identifiant :s comme ce que je tai mit :s

  5. #5
    Membre chevronné Avatar de Asmodean
    Profil pro
    Inscrit en
    Février 2006
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 311
    Par défaut
    L'erreur a l'air clair...les trois première indiquent que tes variables de configuration ne sont pas définis....

    Qu'est ce que ca fait si tu remplaces

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $db_link = mysql_connect($sql_serveur,$sql_user,$sql_passwd);
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $db_link = mysql_connect("localhost","root","");
    ??

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 35
    Par défaut
    Je viens d'essayer tout fonctionne correctement mais ce que je ne comprend pas c'est que ces variables sont définies dans conf.php3, appelé par le requiere - voir détail du conf en bas du premier post), alors normalement celle-ci aurait dû être chargé correctement mais ce n'est pas le cas ici.

    Merci d'avance

  7. #7
    Membre chevronné Avatar de Asmodean
    Profil pro
    Inscrit en
    Février 2006
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 311
    Par défaut
    C'était pour être sur. Donc oui c'est assez bizarre, et je ne connais pas suffisament le fonctionnement de php en détail pour pourvoir expliquer pourquoi ça ne marche pas

    Ceci dit moi pour des données de configuration j'utilise des constantes plutot avec des
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    define('MA_CONSTANTE','ma valeur');

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 280
    Par défaut
    et si dans config3.php
    tu met
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $sql_serveur = "localhost";
    $sql_user = "root";
    $sql_passwd = "";
    $sql_bdd = "ta bdd";
    un petit truc impropre pour moi pourquoi choisir sa base de sonnées pour tout de suite faire la requette
    si après tu fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requette =mysql_query("select * from membre where pseudo=\"$pseudo\" and passe=\"$passe\"")or die (mysql_error());

  9. #9
    Membre émérite Avatar de Hervé Saladin
    Homme Profil pro
    Ingénieur d'études en développement et déploiement d'applications
    Inscrit en
    Décembre 2004
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur d'études en développement et déploiement d'applications
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 647
    Par défaut
    juste pour voir (c'est pas sur que ça marche):
    essayes de mettre <?php au lieu de <? dans le fichier conf.php3 ?

  10. #10
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 23
    Par défaut
    suffit de déclarer tes 3 variables en global comme ceci dans ton fichier conf.php3 pour qu'elles soient connu dans les fichiers où tu dis que tu en as besoin

    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
    16
    17
    18
    19
    20
    21
    <?
    /*-----------------------------------------------------------------*/
    /*LES VARIABLES A MODIFIER :
    /*-----------------------------------------------------------------*/
    
    
    //declaration global des variables :
    global $sql_serveur;
    global $sql_user;
    global $sql_passwd;
    
    
    // SERVEUR SQL
    $sql_serveur="localhost";
    
    // LOGIN SQL
    $sql_user="root";
    
    // MOT DE PASSE SQL
    $sql_passwd="";

Discussions similaires

  1. Problème de connexion à une base MySQL
    Par Jezlife dans le forum Bases de données
    Réponses: 5
    Dernier message: 06/12/2011, 11h17
  2. Problème de connexion à une base MySQL
    Par ctenot dans le forum NetBeans Platform
    Réponses: 8
    Dernier message: 23/11/2011, 03h59
  3. Problème de connexion à la base MySql avec Hibernate
    Par aloublack dans le forum Hibernate
    Réponses: 0
    Dernier message: 14/10/2010, 18h58
  4. Problème de connexion avec base MySql
    Par sophiec dans le forum QlikView
    Réponses: 1
    Dernier message: 09/07/2009, 18h27
  5. Problème de connexion à la base MYSQL via l'exécutable .JAR
    Par sam45 dans le forum Interfaces Graphiques en Java
    Réponses: 8
    Dernier message: 12/09/2008, 14h48

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