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

Bibliothèques et frameworks PHP Discussion :

[PEAR][DB] Warning access denied


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 133
    Points : 51
    Points
    51
    Par défaut [PEAR][DB] Warning access denied
    Bonsoir,

    Voilà, j'ai réinstaller une application que j'avais réaliser sur mon ordinateur en local. J'ai du ré-installer SMARTY et PEAR DB (il était sur d'autres serveurs avant ). Pour Smarty, çà roule.

    Par contre, j'ai suivi ce tuto très bien fait:
    http://php.developpez.com/cours/pear/installation/#LIV

    J'ai copié les librairies PEAR et package PEAR DB dans mon rep PHP/PEAR et ajouter ma fonction set_include_path:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set_include_path(get_include_path() . ";c:\wamp\bin\php\php5.2.6\PEAR");
    => j'utilise WAMP

    Juste la ca va mais quant je lance ma page, j'ai que des warnings!!! :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    la connexion a reussie
    Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\wamp\www\PROJET_YO\html\insertion_contrat.php on line 47
     
    Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\wamp\www\PROJET_YO\html\insertion_contrat.php on line 47
     
    Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\wamp\www\PROJET_YO\html\insertion_contrat.php on line 62
     
    Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\wamp\www\PROJET_YO\html\insertion_contrat.php on line 62
    Pourtant, a priori la connection est OK, et mes paramètres sont bons: par défaut:
    root
    ' ' =>pas de password
    localhost

    Je ne comprends pas

    Merci par avance de votre aide

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 138
    Points : 123
    Points
    123
    Par défaut
    Bonsoir,

    Ca serait mieux avec le code des lignes concernées par les erreurs stp ^^" J'aimerai bien t'aider mais je n'ai pas tous les warning en tête.

    Cordialement,

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 133
    Points : 51
    Points
    51
    Par défaut
    Salut,

    Merci pour ton aide, je vais essayer de fournir plus d'infos. A priori, c'est bien un probleme d'accès à la base, mais pourtant le script fonctionne, vu que j'ai le message connexion réussie...

    Voilà mon fichier de config pour ma DB et Pear DB:
    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
     
    <?php
    set_include_path(get_include_path() . ";c:\Program Files\EasyPHP1-8\php\PEARDIR");
     
    $user = 'root';
    $passwd = '';
    $mysqlServer = 'localhost';
    $dataBaseName ='db_hosting';
    require_once 'DB.php';
    $dsn ='mysql://'.$user.':'.$passwd.'@'.$mysqlServer.'/'.$dataBaseName;
    $db =& DB::connect($dsn);
    if (DB::isError($db)) {
        die($db->getMessage());}
    echo 'la connexion a reussie' ; 
    $db->disconnect();
     
    ?>
    Une partie de mon code de la page concernée:
    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
    <?php
    require '../libs/Smarty.class.php';
     
    $smarty = new Smarty;
     
    $smarty->compile_check = true;
    $smarty->debugging = false;
     
    include 'includes/connect_db.php';
     
    /**************************************************************************
    	*On recupère la liste des clients
    	***************************************************************************/
    	$clients = $db->getAssoc("SELECT id_client, nom_client FROM client ORDER BY nom_client");
    	$smarty->assign('clients', $clients);
    /**************************************************************************
    	*On récupère la liste de servers
    	***************************************************************************/
     
    	$servers = $db->getAssoc("SELECT id_server, nom_server FROM server ORDER BY nom_server");
    	$smarty->assign('servers', $servers);
     
    	/**************************************************************************
    	*Enregistrement dans la table client si l'utilisateur entre un client librement
    	***************************************************************************/
    	$id_filemaker = $_POST['id_filemaker'];
    	$nom_client_hors_liste = $_POST['client_hors_liste'];
    	$id_client = $_POST['id_client'] ;
    	$nom_site = $_POST['nom_site'];
    	$mail_resp = $_POST['mail_resp'];
    	if ($nom_client_hors_liste != ""){
    		mysql_query("INSERT INTO client (id_client, nom_client) VALUES ($id_filemaker, '$nom_client_hors_liste')");
    		$sql = mysql_query("SELECT id_client, nom_client FROM client WHERE nom_client = '$nom_client_hors_liste' ");
    		while ($l = mysql_fetch_array($sql)){
    			$id_client_hors_liste = $l['id_client'];
    		}
    		/**************************************************************************
    		*Enregistrement dans la table site de nom_site, mail_resp, id_client si client provient de l'input text
    		***************************************************************************/
    		mysql_query("INSERT INTO site (nom_site, mail_resp, id_client) VALUES ('$nom_site', '$mail_resp', $id_client_hors_liste)");
    	}
    	else{
    		/**************************************************************************
    		*Enregistrement dans la table site de nom_site, mail_resp, id_client si non client provient du select
    		***************************************************************************/
    		mysql_query ("INSERT INTO site (nom_site, mail_resp, id_client) VALUES ('$nom_site', '$mail_resp', $id_client)");
    	}
    Voilà, je ne comprends pas pourquoi l'accès à la base ne fonctionne pas...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    la connexion a reussie
    Notice: Undefined index: id_filemaker in c:\program files\easyphp1-8\www\projet_yo\html\insertion_contrat.php on line 27
     
    Notice: Undefined index: client_hors_liste in c:\program files\easyphp1-8\www\projet_yo\html\insertion_contrat.php on line 28
     
    Notice: Undefined index: id_client in c:\program files\easyphp1-8\www\projet_yo\html\insertion_contrat.php on line 29
     
    Notice: Undefined index: nom_site in c:\program files\easyphp1-8\www\projet_yo\html\insertion_contrat.php on line 30
     
    Notice: Undefined index: mail_resp in c:\program files\easyphp1-8\www\projet_yo\html\insertion_contrat.php on line 31
     
    Warning: mysql_query(): Accès refusé pour l'utilisateur: 'ODBC'@'@localhost' (mot de passe: NON) in c:\program files\easyphp1-8\www\projet_yo\html\insertion_contrat.php on line 47
     
    Warning: mysql_query(): A link to the server could not be established in c:\program files\easyphp1-8\www\projet_yo\html\insertion_contrat.php on line 47
    Si vous pouvez m'aider , merci d'avance

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 133
    Points : 51
    Points
    51
    Par défaut
    Ca y'est j'ai compris, c'est la variable qui contient le chemin d'accès à Mysql qui n'est pas bon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $dsn ='mysql://'.$user.':'.$passwd.'@'.$mysqlServer.'/'.$dataBaseName;
    Mon chemin est le suivant quant je sous dans PhpMyadmin:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://127.0.0.1/mysql/
    mais quant je remplace:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $dsn ='http://127.0.0.1/mysql/'.$user.':'.$passwd.'@'.$mysqlServer.'/'.$dataBaseName;
    Marche pas

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 138
    Points : 123
    Points
    123
    Par défaut
    Salut,

    Tout d'abord, avant d'aller plus loin il te reste un erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    		mysql_query("INSERT INTO client (id_client, nom_client) VALUES ($id_filemaker, '$nom_client_hors_liste')");
    Remplace par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    		mysql_query("INSERT INTO client (id_client, nom_client) VALUES ('".$id_filemaker."', '".$nom_client_hors_liste."')");

    Ton echo "la connexion est réussie"; fonctionne bien à l'affichage?

    Amuse toi a faire une copie de ton fichier et ensuite efface tout ce que tu peux/dois effacer pour que l'erreur disparaisse.


    Bon courage,

    Cordialement,

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 133
    Points : 51
    Points
    51
    Par défaut
    Citation Envoyé par Evilam Voir le message
    Salut,

    Tout d'abord, avant d'aller plus loin il te reste un erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    		mysql_query("INSERT INTO client (id_client, nom_client) VALUES ($id_filemaker, '$nom_client_hors_liste')");
    Remplace par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    		mysql_query("INSERT INTO client (id_client, nom_client) VALUES ('".$id_filemaker."', '".$nom_client_hors_liste."')");
    Non, cela fonctionne très bien comme çà, cela marchait quant mon application tournait sur d'autres servers. Le code est bon à ce niveau là.

    Citation Envoyé par Evilam Voir le message
    Ton echo "la connexion est réussie"; fonctionne bien à l'affichage?

    Amuse toi a faire une copie de ton fichier et ensuite efface tout ce que tu peux/dois effacer pour que l'erreur disparaisse.
    Ben la cela ne m'aide pas trop disons...
    Le problème, je l'ai identifié, il ne vient pas de mon fichier php pour cette page, il provient du fichier de connexion à la base. Avant , quant l'appli tourner sur les servers de l'entreprise ou g fait mon stage, la connection avec PEAR DB était établit grace à un fichier htaccess, car les librairies que j'utilisé (SMARTY, PERA Db...) étaitent sur les servers

    Donc , j'ai réinstaller tous en local, mais j'ai un prob avec PEAR DB et il est la mais je n'arrive pas le résoudre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $dsn ='mysql://'.$user.':'.$passwd.'@'.$mysqlServer.'/'.$dataBaseName;
    C'est là que la connexion échoue je pense, mais le "echo" passe pourtant à l'affichage..... Le casse tete

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 133
    Points : 51
    Points
    51
    Par défaut
    Bon , le truc tout con, j'avais pas enlever à la fin du script:
    Donc forcément .....

    Mais c'est bizarre, une partie de mes select fonctionnent à l'affichage, pas les autres sur le reste de la base, je creuse...
    Il ne me reste plus que quelques Notice:
    Notice: Undefined index: id_filemaker in c:\program files\easyphp1-8\www\projet_yo\html\insertion_contrat.php on line 27

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

Discussions similaires

  1. [MySQL] MySQL - Warning, Access denied for user
    Par Rollois dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 18/11/2010, 09h04
  2. Réponses: 1
    Dernier message: 06/07/2010, 19h59
  3. Réponses: 2
    Dernier message: 21/10/2006, 16h32
  4. access denied
    Par HULK dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 30/08/2005, 08h26
  5. Access denied..... Help !
    Par chakan dans le forum Requêtes
    Réponses: 2
    Dernier message: 05/12/2003, 22h30

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