Partage
  • Partager sur Facebook
  • Partager sur Twitter

Fichiers en localhost sous MAMP impossible à lire

Impossibilité d'afficher la base de données sur Mac.

Sujet résolu
    18 septembre 2019 à 16:20:21

    Bonjour,

    dans le chapitre "Lisez des données" du cours "Concevez votre site web avec PHP et MySql", il est question d'activer PDO pour accéder à la base de données en php.

    Je suis sur Mac et n'ai pas trouvé dans le fichier php.init la ligne de code à modifier comme indiqué dans le cours :

    extension=php_pdo_mysql.dll

    J'ai cependant trouvé dans ce même fichier la ligne suivante :

    pdo_mysql.default_socket = /Applications/MAMP/tmp/mysql/mysql.sock

    qui ressemble beaucoup au code présenté comme seconde option de configuration de pdo :

    pdo_mysql.default_socket = /opt/lampp/var/mysql/mysql.sock

    Je pense donc que PDO est activé.

    Ma table jeux_video est bien présente sur phpMyAdmin.

    Cependant quand je veux ouvrir mon fichier en suivant le lien http://localhost:8888/tests/jeu_videoDB.php, on me retourne cette erreur de mot de passe.

    Erreur : SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO)

    Ayant installé MySql avant MAMP avec des mots de passe, j'ai modifié les infos de mon requête PDO en insérant mon nom d'utilisateur et mot de passe. La réponse prend en compte mes modifications mais retourne le même type d'erreur.

    <?php
    //Déclarer un  objet $bdd pour se connecter à la db
    //$bdd = new PDO('mysql:host=sql.hebergeur.com;dbname=mabase;charset=utf8', '****', '****');
    try {
    $bdd=newPDO('mysql:host=localhost;dbname=test;charset=utf8', '****', '****');
    } catch (Exception$e) {
    die('Erreur : '.$e->getMessage());
    }
    // $reponse = $bdd->query('tapez votre requête ici')
    
    // Si tout va bien, on peut continuer
    
    // On récupère tout le contenu de la table jeux_video
    $reponse=$bdd->query('SELECT*FROM jeux_video');
    
    // On affiche chaque entrée une à une
    while ($donnees=$reponse->fetch()) {
    ?>
    <p>
    <strong>Jeu</strong> : <?phpecho$donnees['nom']; ?><br/>
            Le possesseur de ce jeu est : <?phpecho$donnees['possesseur']; ?>, et il le vend à <?phpecho$donnees['prix']; ?> euros !<br/>
            Ce jeu fonctionne sur <?phpecho$donnees['console']; ?> et on peut y jouer à <?phpecho$donnees['nbre_joueurs_max']; ?> au maximum<br/>
    <?phpecho$donnees['possesseur']; ?> a laissé ces commentaires sur <?phpecho$donnees['nom']; ?> : <em><?phpecho$donnees['commentaires']; ?></em>
    </p>
    <?php
    }
    
    $reponse->closeCursor(); // Termine le traitement de la requête
    ?>

    Si quelqu'un peut m'aider.

    Merci

    -
    Edité par Benzouye 18 septembre 2019 à 17:50:41

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      19 septembre 2019 à 10:53:21

      Tu dis que tu as installé MySQL avant MAMP mais son deuxième "M" est pour "MySQL". Si tu te retrouves avec deux MySQL qui tournent sur ta machine je pense que ça peut poser problème...

      • Partager sur Facebook
      • Partager sur Twitter
        19 septembre 2019 à 11:18:28

        Effectivement, ce peut-être une idée. Je me demande comment configurer MAMP pour qu'il prenne en compte MySql et ses bases de données précedemment installés.
        • Partager sur Facebook
        • Partager sur Twitter
          19 septembre 2019 à 11:28:07

          Bonjour,

          Je n'ai pas de réponse directe, mais une solution simple serait de faire un dump de tes bases MySQL créées dans ta version "solo" pour les importer ensuite dans ta version MAMP.

          Et de désinstaller ensuite la version "solo".

          -
          Edité par Benzouye 19 septembre 2019 à 11:28:37

          • Partager sur Facebook
          • Partager sur Twitter
          Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
            19 septembre 2019 à 17:26:59

            Tout à fait, merci pour le tuyau.
            /
            J'ai commencé à lancer un uninstall mysql en suivant ces qq lignes de commandes (source : https://www.imymac.com/fr/powermymac/uninstall-mysql-on-mac.html)

            Etape 1: Ouvrez le terminal

            Étape 2: Tapez la commande sudo rm /usr/local/mysql cela peut demander votre mot de passe administrateur

            Étape 3: Entrez ces commandes après la précédente:

            sudo rm -rf /usr/ local / var /mysql

            Or j'avais oublié de couper MAMP résultat plantage de l'ordi dès l'étape 3 et réinstall de l'os nécessaire...

            • Partager sur Facebook
            • Partager sur Twitter
              19 septembre 2019 à 17:36:19

              StéphaneUrth a écrit:

              plantage de l'ordi dès l'étape 3 et réinstall de l'os nécessaire...

              Je ne suis pas du tout à l'aise avec UNIX, mais il me semble que c'est un peu fort non ?

              Désolé ...

              • Partager sur Facebook
              • Partager sur Twitter
              Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                19 septembre 2019 à 17:41:24

                pour désinstaller mysql sous mac c'est le même principe que sous linux

                à savoir que mac est basé sur unix

                donc la commande pour désinstaller mysql devrais plutot être

                apt-get remove mysql

                car là tu supprime un dossier tout simplement et non une installe

                donc ton plantage est normal vu que mysql est toujours présent mais plus ces fichiers...

                car il est vrai que unix ne plante pas comme ça...

                -
                Edité par AaFredericHusson 19 septembre 2019 à 17:43:26

                • Partager sur Facebook
                • Partager sur Twitter

                Pas d'aide concernant le code par MP ni par mail, le forum est là pour ça

                  19 septembre 2019 à 17:51:31

                  Plusieurs choses :

                  • Mac OS n'est pas basé sur GNU/Linux, mais sur UNIX ... grosse différence !
                  • APT n'est pas le seul gestionnaire de paquet disponible pour GNU/Linux donc merci de ne pas généraliser
                  • APT n'est pas le gestionnaire de paquet de MacOS, qui est de mémoire PKG

                  Merci d'éviter d'avancer des choses sans savoir de quoi l'on parle, à moins d'intégrer une notion de doute ... Ce n'est pas la première fois AaFredericHusson ...

                  • Partager sur Facebook
                  • Partager sur Twitter
                  Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                  Anonyme
                    19 septembre 2019 à 17:55:03

                    Si la syntaxe de rm est la même que bash en tout cas sudo rm -rf /usr/ local / var /mysql va supprimer l'intégralité du système de fichier (du moins avant plantage) vu que / est entouré d'espaces, et le tout sans aucune confirmation. L'article que tu as lu devrait être qualifié de danger public.

                    • Partager sur Facebook
                    • Partager sur Twitter
                      19 septembre 2019 à 17:56:19

                      a écrit:

                      StéphaneUrth a écrit:

                      plantage de l'ordi dès l'étape 3 et réinstall de l'os nécessaire...

                      Je ne suis pas du tout à l'aise avec UNIX, mais il me semble que c'est un peu fort non ?

                      Désolé ...


                      Oula non ne te sens pas responsable ! Mais merci de ton empathie. Cette démarche m'avait aussi été suggérée par un collègue. Donc la faute est partagée ;). Par contre, oui pour un rookie comme moi, toutes ces démarches pour afficher une base de données, décourageant.
                      Voilà il me faut tout réinstaller...




                      • Partager sur Facebook
                      • Partager sur Twitter
                        19 septembre 2019 à 18:58:35

                        Mac OS n'est pas basé sur GNU/Linux, mais sur UNIX ... grosse différence !

                        je n'ai pas dit que mac os était basé sur linux mais sur Unix:

                        à savoir que mac est basé sur unix

                        grosse différence non puisque linux tout comme mac os sont basé sur unix

                        par contre autant pour moi car effectivement apt existe apparemment uniquement que sur des systêmes basé sur debian

                        par contre la commande rm supprime complètement les données sans possibilité de retour arrière

                        c'est la commande la plus dangereuse de tout systême unix

                        je vois aussi que l'article en question ajoute des espace ou il le faut pas...

                        d'ou ton plantage car il me semble qu'il y a des fichiers mysql dans: /usr/local/mysql

                        mais la commande donné est la suivante:

                        sudo rm -rf / usr / local / mysql



                        avant de supprimer les fichiers / dossiers il aurais fallu désinstaller mysql

                        de plus tu utilise rm -rf:

                        -r, -R, --recursive
                            Supprimer récursivement le contenu des répertoires. 
                        -f, --force
                            Ignorer les fichiers non existants, et ne pas interroger l'utilisateur. 




                        -
                        Edité par AaFredericHusson 19 septembre 2019 à 19:11:08

                        • Partager sur Facebook
                        • Partager sur Twitter

                        Pas d'aide concernant le code par MP ni par mail, le forum est là pour ça

                          20 septembre 2019 à 11:21:20

                          Bien, j'ai réinstallé mon OS de zéro.Installé MAMP et mon accès à ma base de donnée fonctionne correctement. Le PDO devait bien être activé par défaut.
                          Le conflit initial devait bien se passer entre les 2 MySql présent sur mon ordi.
                          Merci pour vos commentaires et vos aides.
                          Bonne journée!

                          Sujet résolu.
                          • Partager sur Facebook
                          • Partager sur Twitter

                          Fichiers en localhost sous MAMP impossible à lire

                          × 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