Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreur : SQLSTATE[HY000] [2002] No such file or di

    2 mai 2015 à 20:09:29

    Bonjour a tous

    Je suis le tutoriel sur la programmation en php, 

    j'en suis a la partie sur mysql et j'arrive pas a me connecter a la dbb 

    voici le code:

    <?php
    
    try
    
    {
    
    	$bdd = new PDO('mysql:host=localhost;dbname=News;charset=utf8', 'root', 'root');
    
    }
    
    catch(Exception $e)
    
    {
    
            die('Erreur : '.$e->getMessage());
    
    }
    
    ?>



    et voici la réponse :

    Erreur : SQLSTATE[HY000] [2002] No such file or directory

    j'ai fouillé sur le forum, certains disent qu'il faut entrer cette commande dans le terminal :

    sudoln-s /Applications/MAMP/tmp/mysql/mysql.sock /var/mysql/mysql.sock

    chose que j'ai faite mais toujours rien, à bon entendeur...

    • Partager sur Facebook
    • Partager sur Twitter

    #RTFM #AskGoogle and Have a nice code Day

      2 mai 2015 à 20:44:14

      Bonsoir Ismail1432.

      Je n'ai pas de grandes connaissances en MySQL, mais je dirais que peut-être il n'y a pas de table dans ta base de données "News"?

      Bonne soirée.

      Edit : Oublis ce que je viens de dire. Je viens de me rendre compte que je viens de dire une grosse connerie.

      -
      Edité par bulot43 2 mai 2015 à 20:53:16

      • Partager sur Facebook
      • Partager sur Twitter
        2 mai 2015 à 20:46:01

        Est-ce que MySQL est bien lancé ?

        Si oui est-ce que la valeur socket de my.cnf est bien la même que pdo_mysql.default_socket de php.ini ?

        • Partager sur Facebook
        • Partager sur Twitter
        Ce n'est pas parce que vous ne savez pas vous servir d'un marteau qu'il faut planter des clous au tournevis.
          2 mai 2015 à 21:59:21

          • Partager sur Facebook
          • Partager sur Twitter

          #RTFM #AskGoogle and Have a nice code Day

            2 mai 2015 à 22:01:32

            Tout d'abord merci de me repondre

            @Bulot43 : j'ai mis en photo mysql, je pense qu'il y a bien des tables dans ma base de données sauf si j'ai rien compris lol

            @nightmat: je suis désolé, je n'ai pas compris... comment puis-je verifier ?

            • Partager sur Facebook
            • Partager sur Twitter

            #RTFM #AskGoogle and Have a nice code Day

              2 mai 2015 à 22:03:40

              Essaies de remplacer 'mysql:host=localhost;dbname=News;charset=utf8' par 'mysql:host=127.0.0.1;dbname=News;charset=utf8' (on force la connexion à passer en TCP au lieu d'utiliser une socket locale dont le chemin pourrait ne pas correspondre entre les configurations de MySQL et PHP), si ça marche nightmat a raison.

              -
              Edité par julp 2 mai 2015 à 22:19:28

              • Partager sur Facebook
              • Partager sur Twitter
                2 mai 2015 à 22:06:11

                @Julp: j'ai remplacer et cette fois-ci il donne : connection refused

                • Partager sur Facebook
                • Partager sur Twitter

                #RTFM #AskGoogle and Have a nice code Day

                  2 mai 2015 à 22:20:40

                  Ce n'est pas ça, j'aurais dû prêter attention à ton précédent screenshot : visiblement ton serveur MySQL ne tourne pas sur le port standard (3306) mais sur 8889.

                  Changes ton DSN pour 'mysql:host=localhost;port=8889;dbname=News;charset=utf8'.

                  -
                  Edité par julp 2 mai 2015 à 22:21:01

                  • Partager sur Facebook
                  • Partager sur Twitter
                    2 mai 2015 à 22:36:09

                    @julp : toujours rien, merci de faire l'effort de m'aider

                    • Partager sur Facebook
                    • Partager sur Twitter

                    #RTFM #AskGoogle and Have a nice code Day

                      2 mai 2015 à 22:46:21

                      Bonsoir,

                      essaye sans le 2e root

                      <?php
                       
                      try
                       
                      {
                       
                          $bdd = new PDO('mysql:host=localhost;dbname=News;charset=utf8', 'root', '');
                       
                      }
                       
                      catch(Exception $e)
                       
                      {
                       
                              die('Erreur : '.$e->getMessage());
                       
                      }
                       
                      ?>

                      et dans un 2e temps sans le

                      ;charset=utf8

                      -
                      Edité par nicklarson 2 mai 2015 à 22:48:21

                      • Partager sur Facebook
                      • Partager sur Twitter
                        2 mai 2015 à 23:07:58

                        @nickylarson :  toujours rien...
                        • Partager sur Facebook
                        • Partager sur Twitter

                        #RTFM #AskGoogle and Have a nice code Day

                          3 mai 2015 à 10:39:29

                          bonjour essai de reprendre la derniere solution de julp mais a la place de 8889 met 8888, parce que moi sur ton screen c'est 8888 et pas 8889 que je lis
                          • Partager sur Facebook
                          • Partager sur Twitter
                          "Il est hélas devenu évident aujourd’hui que notre technologie a dépassé notre humanité"  A.E.
                            3 mai 2015 à 11:18:30

                            C'est son serveur web qui est en 8888, l'URL dans sa barre d'adresse ; le serveur MySQL, comme on peut le lire sur le screen dans l'espace de pma c'est bien 8889, non ?

                            Il faudrait que tu donnes l'erreur à chaque essai.

                            • Partager sur Facebook
                            • Partager sur Twitter
                              3 mai 2015 à 20:02:36

                              @julp : j'ai tester sa : mysql:host=127.0.0.1;dbname=News;charset=utf8

                              et sa donne : connection refused

                              j'ai teste sa mysql:host=localhost;port=8889;dbname=News;charset=utf8

                              sa donne : No such file or directory

                              j'ai tester sa mysql:host=localhost;port=8888;dbname=News;charset=utf8

                              sa donne :  No such file or directory


                              donc sa marche toujours pas, merci de votre aide

                              • Partager sur Facebook
                              • Partager sur Twitter

                              #RTFM #AskGoogle and Have a nice code Day

                                3 mai 2015 à 22:32:22

                                Ismail1432 a écrit:

                                @julp : j'ai tester sa : mysql:host=127.0.0.1;dbname=News;charset=utf8

                                et sa donne : connection refused

                                j'ai teste sa mysql:host=localhost;port=8889;dbname=News;charset=utf8

                                sa donne : No such file or directory

                                j'ai tester sa mysql:host=localhost;port=8888;dbname=News;charset=utf8

                                sa donne :  No such file or directory


                                donc sa marche toujours pas, merci de votre aide



                                • Partager sur Facebook
                                • Partager sur Twitter

                                #RTFM #AskGoogle and Have a nice code Day

                                  3 mai 2015 à 23:20:39

                                  Bon, apparemment, avec localhost, MySQL ignore le port et cherche toujours à utiliser la socket au lieu de passer en TCP.

                                  Donc est-ce que mysql:host=127.0.0.1;port=8889;dbname=News;charset=utf8 fonctionne cette fois ? Sinon, le plus simple, c'est de regarder la configuration de phpMyAdmin si lui fonctionne.

                                  Ce serait tout de même plus pratique si la configuration niveau socket entre PHP et MySQL était raccord. Parce qu'en plus, si MAMP n'utilise pas des ports standards (volontairement pour éviter tout conflit ? t'as une autre instance de MySQL et/ou Apache ?), ce n'est pas très pratique. D'ailleurs c'est "bizarre" que MAMP ne s'en charge pas.

                                  -
                                  Edité par julp 3 mai 2015 à 23:30:57

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    4 mai 2015 à 22:35:48

                                    @julp: TU ES UN BON ! je viens de tester la derniere méthode et sa marche !

                                    cependant j'ai pas compris ton raisonnement car je débute le php et les termes que tu as employer me sont etranger...

                                    quelle est la difference entre "localhost" et "127.0.0.1" ?

                                    qu'est ce que socket ?...

                                    si tu as un lien que je peux regarder histoire de comprendre...

                                    en tout cas merci de ton aide

                                    et merci encore !

                                    • Partager sur Facebook
                                    • Partager sur Twitter

                                    #RTFM #AskGoogle and Have a nice code Day

                                    Erreur : SQLSTATE[HY000] [2002] No such file or di

                                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                    • Editeur
                                    • Markdown