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

Langage PHP Discussion :

connexion PDO : base inconnue alors qu'elle existe


Sujet :

Langage PHP

  1. #1
    Membre expert

    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    octobre 2006
    Messages
    8 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Isère (Rhône Alpes)

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

    Informations forums :
    Inscription : octobre 2006
    Messages : 8 160
    Points : 3 901
    Points
    3 901
    Billets dans le blog
    1
    Par défaut connexion PDO : base inconnue alors qu'elle existe
    Bonjour,
    suite à des problèmes, j'ai réinstallé plusieurs fois wampserver et pensant le problème résolu, je refais tourner le code PHP. Mais la connexion à la base ne marche plus. Voulant circonscrire le problème, j'ai écrit un fichier de test très simple : $dbh = new PDO('mysql:host=localhost;dbname=tickets', "root", "");
    PDOException: SQLSTATE[HY000] [1049] Base 'tickets' inconnue in C:\wamp644\www\ticket2\index2test.php on line 5
    alors que la bdd tickets existe...Peut-on m'aider ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

  2. #2
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2004
    Messages
    5 424
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : décembre 2004
    Messages : 5 424
    Points : 13 166
    Points
    13 166
    Par défaut
    Salut

    Je suis étonné de la syntaxe que tu utilises au niveau du chemin mysql:host=localhost.

    ton code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $dbh = new PDO('mysql:host=localhost;dbname=tickets', "root", "");
    le mien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $pdo = new PDO('mysql:localhost;port=3306;dbname=bdtest', 'root', '', [
                        PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
                        PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
                        PDO::ATTR_EMULATE_PREPARES   => false
                    ]);
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.

  3. #3
    Membre expert

    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    octobre 2006
    Messages
    8 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Isère (Rhône Alpes)

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

    Informations forums :
    Inscription : octobre 2006
    Messages : 8 160
    Points : 3 901
    Points
    3 901
    Billets dans le blog
    1
    Par défaut
    Merci de ton aide ; j'ai essayé ton code $dbh = new PDO('mysql:localhost;port=3306;dbname=tickets', 'root', ''); (sans les options PDO), mais j'ai le même message d'erreur...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

  4. #4
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 6 142
    Points : 16 466
    Points
    16 466
    Billets dans le blog
    12
    Par défaut
    salut,

    est ce que le service MySQL tourne en tâche de fond ?

  5. #5
    Membre expert

    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    octobre 2006
    Messages
    8 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Isère (Rhône Alpes)

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

    Informations forums :
    Inscription : octobre 2006
    Messages : 8 160
    Points : 3 901
    Points
    3 901
    Billets dans le blog
    1
    Par défaut
    Comment peut-on vérifier ça ?

    Et vérification faite, ma syntaxe de connexion qui surprenait progElecT est correcte...vu que c'est la tienne !
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

  6. #6
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 6 142
    Points : 16 466
    Points
    16 466
    Billets dans le blog
    12
    Par défaut
    Win+R
    services.msc puis Entrée
    et tu recherches MySQL

  7. #7
    Membre expert

    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    octobre 2006
    Messages
    8 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Isère (Rhône Alpes)

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

    Informations forums :
    Inscription : octobre 2006
    Messages : 8 160
    Points : 3 901
    Points
    3 901
    Billets dans le blog
    1
    Par défaut
    Merci du truc. Non, il n'y est pas.

    En fait, la connexion aux tables de base, amenées à l'installation de phpMyAdmin fonctionne, mais à aucune table que je crée moi-même.
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

  8. #8
    Membre expert

    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    octobre 2006
    Messages
    8 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Isère (Rhône Alpes)

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

    Informations forums :
    Inscription : octobre 2006
    Messages : 8 160
    Points : 3 901
    Points
    3 901
    Billets dans le blog
    1
    Par défaut
    Salut,
    je comprend qu'il aurait fallu que MySQL tourne en tâche de fond. Est-ce que je peux faire quelque chose pour que ce soit le cas ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

  9. #9
    Membre actif Avatar de Trehinos
    Homme Profil pro
    Analyste développeur PHP
    Inscrit en
    novembre 2012
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Analyste développeur PHP
    Secteur : Distribution

    Informations forums :
    Inscription : novembre 2012
    Messages : 96
    Points : 214
    Points
    214
    Par défaut
    Bonjour, oui il faut le démarrer dans WampServer =)

  10. #10
    Membre expert

    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    octobre 2006
    Messages
    8 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Isère (Rhône Alpes)

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

    Informations forums :
    Inscription : octobre 2006
    Messages : 8 160
    Points : 3 901
    Points
    3 901
    Billets dans le blog
    1
    Par défaut
    Oui, mais comme dans l'onglet MySQL, y a pas de start ou assimilé, j'ai fait "redémarrer les services" et il est toujours pas là (d'ailleurs, c'est la première chose que j'avais faite après avoir constaté le problème).
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

  11. #11
    Membre actif Avatar de Trehinos
    Homme Profil pro
    Analyste développeur PHP
    Inscrit en
    novembre 2012
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Analyste développeur PHP
    Secteur : Distribution

    Informations forums :
    Inscription : novembre 2012
    Messages : 96
    Points : 214
    Points
    214
    Par défaut
    En effet, j'avais l'interface de XAMPP en tête (que j'utilise d'ailleurs car plus simple sur Windows pour cette raison là).

    Si le service ne démarre pas au démarrage de Wampserver, il est probable que le port par défaut (3306) soit déjà utilisé par un autre processus. Peut être changer le port d'écoute dans le fichier de configuration de mysql ?

    Vous dites que PHPMyAdmin fonctionne ? Quel port est noté sur la page d'accueil ? C'est ce port là que vous devez préciser dans le DSN de PDO.

  12. #12
    Membre expert

    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    octobre 2006
    Messages
    8 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Isère (Rhône Alpes)

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

    Informations forums :
    Inscription : octobre 2006
    Messages : 8 160
    Points : 3 901
    Points
    3 901
    Billets dans le blog
    1
    Par défaut
    Il n'y a aucun port indiqué sur la page d'accueil. J'ai d'abord essayé MySQL/Utiliser un autre port que 3306 ; j'ai mis 3301 et l'ai aussi mis dans le DSN :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $dbHost = "localhost";
    $dbUser = "root";
    $dbPassword = "";
    $dbName = "ticket2";
    $dsn = "mysql:host=" . $dbHost . ";dbname=" . $dbName;port=3301;
    $pdo = new PDO($dsn, $dbUser, $dbPassword,[PDO::ATTR_ERRMODE  => PDO::ERRMODE_EXCEPTION]);
    Mais même message d'erreur.
    Mon but étant uniquement d'avoir un serveur PHP en local, j'ai installé XAMPP. (XAMPP Control Panel V3.2.4). Il m'a créé un répertoire C:\XAMPP. J'ai compris que le code devait être mis dans le répertoire C:\XAMPP\htdocs et que si dans ce répertoire, je mets fichier.php, l'URL de ce fichier sera simplement http://localhost/fichier.php. OK. Pour lancer phpMyAdmin, Control Panel/MySQL/Admin. OK aussi. Il me détecte des erreurs PHP mais je crois que je tiens le bon bout. Dès que ça sera opérationnel, je mettrai en
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

  13. #13
    Membre expert

    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    octobre 2006
    Messages
    8 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Isère (Rhône Alpes)

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

    Informations forums :
    Inscription : octobre 2006
    Messages : 8 160
    Points : 3 901
    Points
    3 901
    Billets dans le blog
    1
    Par défaut
    Ce soir, c'est bon. Donc XAMPP, adopté....
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

  14. #14
    Membre expert

    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    octobre 2006
    Messages
    8 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Isère (Rhône Alpes)

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

    Informations forums :
    Inscription : octobre 2006
    Messages : 8 160
    Points : 3 901
    Points
    3 901
    Billets dans le blog
    1
    Par défaut
    Ca marche bien, néanmoins, vérification faite : MySQL ne tourne pas en tâche de fond. Pourquoi fallait-il que ce soit le cas pour Wampserver ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

  15. #15
    Membre actif Avatar de Trehinos
    Homme Profil pro
    Analyste développeur PHP
    Inscrit en
    novembre 2012
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Analyste développeur PHP
    Secteur : Distribution

    Informations forums :
    Inscription : novembre 2012
    Messages : 96
    Points : 214
    Points
    214
    Par défaut
    Pour moi non plus, il n'apparaît pas dans les services, mais dans la liste des processus ("Détails" du gestionnaire des tâches), il y a un mysqld.exe.

  16. #16
    Membre expert

    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    octobre 2006
    Messages
    8 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Isère (Rhône Alpes)

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

    Informations forums :
    Inscription : octobre 2006
    Messages : 8 160
    Points : 3 901
    Points
    3 901
    Billets dans le blog
    1
    Par défaut
    En effet. Il fallait être très observateur...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

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

Discussions similaires

  1. [HQL] "could not resolve property" alors qu'elle existe
    Par Ceubex dans le forum Hibernate
    Réponses: 7
    Dernier message: 29/01/2015, 11h24
  2. Undefined alors qu'elle existe ?
    Par Squallynou dans le forum Langage
    Réponses: 2
    Dernier message: 22/03/2011, 16h22
  3. Variable undefined alors qu'elle existe.
    Par defacta dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 31/07/2009, 09h58
  4. [MySQL] Table inconnue 'type_matiere_premiere' dans where clause alors qu'elle existe
    Par roy-mustang dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/04/2009, 18h06
  5. Réponses: 2
    Dernier message: 25/06/2008, 10h58

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