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 :

La connexion ne se fait pas [PDO]


Sujet :

PHP & Base de données

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 371
    Points : 5 734
    Points
    5 734
    Billets dans le blog
    1
    Par défaut La connexion ne se fait pas
    Bonjour,

    l'imprévisible Laurent a encore une question de débutant !

    La connexion PDO ne se fait pas avec ce code :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    class Model extends PDO {
    	// Identifiants de connexion
    	static public  $DB_NAME = "medecinesport";
    	static public  $HOST = "localhost";
    	static public  $USER = "root";
    	static public  $PASS = "";
     
     
    	public function __construct() {
    		parent::__construct('mysql:host='.Model::$HOST.';dbname='.Model::$DB_NAME, Model::$USER, Model::$PASS);
    	}
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->model=new model();
    Les messages d'erreur sont
    Fatal error: in C:\wamp\www\med_sport\model_class.php on line 23
    et
    PDOException: in C:\wamp\www\med_sport\model_class.php on line 23
    Qu'est-ce qui va pas ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ou fais-tu l'appel du deuxième code ?

    Qu'est ce que la ligne 23 ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 371
    Points : 5 734
    Points
    5 734
    Billets dans le blog
    1
    Par défaut
    En fait, il s'agit d'une architecture MVC codée fin 2012, que j'essaye de reprendre. Donc dans le index.php de départ, il y a $c=new controller(); et dans controller_class.php public function __construct() { $this->model=new model();...
    et la ligne 23, c'est ici la ligne 10.
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Est-ce que arrives a reproduire ton problème dans un code simplifié ?

    Parce que le code comme ça fonctionne :

    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
    <?php
    class Model extends PDO {
    	// Identifiants de connexion
    	static public  $DB_NAME = "medecinesport";
    	static public  $HOST = "localhost";
    	static public  $USER = "root";
    	static public  $PASS = "";
     
     
    	public function __construct() {
    		parent::__construct('mysql:host='.Model::$HOST.';dbname='.Model::$DB_NAME, Model::$USER, Model::$PASS);
    	}
    }
     
    class controller {
    	public function __construct() { $this->model=new model(); }
    }
     
    $c=new controller();
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 371
    Points : 5 734
    Points
    5 734
    Billets dans le blog
    1
    Par défaut
    Ce code ultra-simplifié provoque chez moi une erreur fatale :
    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
    15
    16
    <?php
    class Model extends PDO {
    	// Identifiants de connexion
    	static public  $DB_NAME = "medecinesport";
    	static public  $HOST = "localhost";
    	static public  $USER = "root";
    	static public  $PASS = "";
     
     
    	public function __construct() {
    		parent::__construct('mysql:host='.Model::$HOST.';dbname='.Model::$DB_NAME, Model::$USER, Model::$PASS);
    	}
    }
     
    $c=new Model();
    ?>

    Fatal error: in C:\wamp\www\eis\eis\testbdd.php on line 11
    puis
    PDOException: in C:\wamp\www\eis\eis\testbdd.php on line 11
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Honnêtement, là, je ne vois pas : je copie-colles ton code, je change seulement le nom de la base pour mettre la mienne et pouf ça marche.

    Tu as vérifié la nom de la base de données (pas de faute de frappe ou de truc du genre) ? et que la base est bien démarrée ?
    Est-ce qu'on pourrait avoir le reste du message d'erreur ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  7. #7
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 371
    Points : 5 734
    Points
    5 734
    Billets dans le blog
    1
    Par défaut
    Comme j'avais un doute, j'ai désinstallé puis réinstallé wamp, et plus de message d'erreur, donc tout va bien.
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  8. #8
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Salut,

    WAMP est pour moi le moins bon package, je te conseille vivement d'utiliser MAMP pour Windows qui est très stable et t'apporte pleins d'outils que WAMP ne propose pas ou au pire EasyPHP.

    C'est juste une suggestion bien sûr...

    bee

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

Discussions similaires

  1. [Réseau filaire] CPL : la troisième connexion ne se fait pas
    Par jeff313 dans le forum Dépannage et Assistance
    Réponses: 1
    Dernier message: 22/11/2010, 12h30
  2. Réponses: 1
    Dernier message: 25/06/2010, 08h23
  3. Int 21H AX=716Ch ne fait pas mon affaire !!
    Par TheBigMac dans le forum Assembleur
    Réponses: 4
    Dernier message: 10/09/2004, 20h51
  4. Pb de selection qui ne se fait pas
    Par Stef.proxi dans le forum Langage SQL
    Réponses: 4
    Dernier message: 06/08/2004, 10h54
  5. [SQL Server 8] le join ne se fait pas
    Par Baquardie dans le forum Langage SQL
    Réponses: 10
    Dernier message: 29/07/2004, 14h57

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