Partage
  • Partager sur Facebook
  • Partager sur Twitter

php et sql-message erreur debutant

    17 novembre 2017 à 3:24:21

    Bonjour tout le monde,
    je suis entrain de comprendre le php avec mysql (cours openclassroom)
    j ai repris le code qu on nous propose pour faire le test mais j ai une erreur que je comprends pas ce que je dois faire et pourquoi cela mets cela.
    voici l erreur:   Erreur : SQLSTATE[HY000] [1049] Base 'test' inconnue

    merci

    <?php
    try
    {
        // On se connecte à MySQL
        $bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', '');
    }
    catch(Exception $e)
    {
        // En cas d'erreur, on affiche un message et on arrête tout
        die('Erreur : '.$e->getMessage());
    }
    
    // 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> : <?php echo $donnees['nom']; ?><br />
            Le possesseur de ce jeu est : <?php echo $donnees['possesseur']; ?>, et il le vend à <?php echo $donnees['prix']; ?> euros !<br />
            Ce jeu fonctionne sur <?php echo $donnees['console']; ?> et on peut y jouer à <?php echo $donnees['nbre_joueurs_max']; ?> au maximum<br />
            <?php echo $donnees['possesseur']; ?> a laissé ces commentaires sur <?php echo $donnees['nom']; ?> : <em><?php echo $donnees['commentaires']; ?></em>
        </p>
        <?php
    }
    
    $reponse->closeCursor(); // Termine le traitement de la requête
    
    ?>
    -- phpMyAdmin SQL Dump
    -- version 3.2.0.1
    -- http://www.phpmyadmin.net
    --
    -- Serveur: localhost
    -- Généré le : Sam 06 Mars 2010 à 16:26
    -- Version du serveur: 5.1.36
    -- Version de PHP: 5.3.0
    
    SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
    
    
    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8 */;
    
    --
    -- Base de données: `test`
    --
    
    -- --------------------------------------------------------
    
    --
    -- Structure de la table `jeux_video`
    --
    
    CREATE TABLE IF NOT EXISTS `jeux_video` (
      `ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
      `nom` varchar(255) NOT NULL,
      `possesseur` varchar(255) NOT NULL,
      `console` varchar(255) NOT NULL,
      `prix` double NOT NULL DEFAULT '0',
      `nbre_joueurs_max` int(11) NOT NULL DEFAULT '0',
      `commentaires` text NOT NULL,
      KEY `ID` (`ID`)) 
      ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=51 ;
    
    --
    -- Contenu de la table `jeux_video`
    --
    
    INSERT INTO `jeux_video` (`ID`, `nom`, `possesseur`, `console`, `prix`, `nbre_joueurs_max`, `commentaires`) VALUES
    (1, 'Super Mario Bros', 'Florent', 'NES', 4, 1, 'Un jeu d''anthologie !'),
    (2, 'Sonic', 'Patrick', 'Megadrive', 2, 1, 'Pour moi, le meilleur jeu du monde !'),
    (3, 'Zelda : ocarina of time', 'Florent', 'Nintendo 64', 15, 1, 'Un jeu grand, beau et complet comme on en voit rarement de nos jours'),
    (4, 'Mario Kart 64', 'Florent', 'Nintendo 64', 25, 4, 'Un excellent jeu de kart !'),
    (5, 'Super Smash Bros Melee', 'Michel', 'GameCube', 55, 4, 'Un jeu de baston délirant !'),
    (6, 'Dead or Alive', 'Patrick', 'Xbox', 60, 4, 'Le plus beau jeu de baston jamais créé'),
    (7, 'Dead or Alive Xtreme Beach Volley Ball', 'Patrick', 'Xbox', 60, 4, 'Un jeu de beach volley de toute beauté o_O'),
    (8, 'Enter the Matrix', 'Michel', 'PC', 45, 1, 'Plutôt bof comme jeu, mais ça complète bien le film'),
    (9, 'Max Payne 2', 'Michel', 'PC', 50, 1, 'Très réaliste, une sorte de film noir sur fond d''histoire d''amour. A essayer !'),
    (10, 'Yoshi''s Island', 'Florent', 'SuperNES', 6, 1, 'Le paradis des Yoshis :o)'),
    (11, 'Commandos 3', 'Florent', 'PC', 44, 12, 'Un bon jeu d''action où on dirige un commando pendant la 2ème guerre mondiale !'),
    (12, 'Final Fantasy X', 'Patrick', 'PS2', 40, 1, 'Encore un Final Fantasy mais celui la est encore plus beau !'),
    (13, 'Pokemon Rubis', 'Florent', 'GBA', 44, 4, 'Pika-Pika-chu !!!'),
    (14, 'Starcraft', 'Michel', 'PC', 19, 8, 'Le meilleur jeux pc de tout les temps !'),
    (15, 'Grand Theft Auto 3', 'Michel', 'PS2', 30, 1, 'Comme dans les autres Gta on ecrase tout le monde  .'),
    (16, 'Homeworld 2', 'Michel', 'PC', 45, 6, 'Superbe ! o_O'),
    (17, 'Aladin', 'Patrick', 'SuperNES', 10, 1, 'Comme le dessin Animé !'),
    (18, 'Super Mario Bros 3', 'Michel', 'SuperNES', 10, 2, 'Le meilleur Mario selon moi.'),
    (19, 'SSX 3', 'Florent', 'Xbox', 56, 2, 'Un très bon jeu de snow !'),
    (20, 'Star Wars : Jedi outcast', 'Patrick', 'Xbox', 33, 1, 'Encore un jeu sur star-wars où on se prend pour Luke Skywalker !'),
    (21, 'Actua Soccer 3', 'Patrick', 'PS', 30, 2, 'Un jeu de foot assez bof ...'),
    (22, 'Time Crisis 3', 'Florent', 'PS2', 40, 1, 'Un troisième volet efficace mais pas vraiment surprenant'),
    (23, 'X-FILES', 'Patrick', 'PS', 25, 1, 'Un jeu censé ressembler a la série mais assez raté ...'),
    (24, 'Soul Calibur 2', 'Patrick', 'Xbox', 54, 1, 'Un jeu bien axé sur le combat'),
    (25, 'Diablo', 'Florent', 'PS', 20, 1, 'Comme sur PC mais la c''est sur un ecran de télé  !'),
    (26, 'Street Fighter 2', 'Patrick', 'Megadrive', 10, 2, 'Le célèbre jeu de combat !'),
    (27, 'Gundam Battle Assault 2', 'Florent', 'PS', 29, 1, 'Jeu japonais dont le gameplay est un peu limité. Peu de robots malheureusement'),
    (28, 'Spider-Man', 'Florent', 'Megadrive', 15, 1, 'Vivez l''aventure de l''homme araignée'),
    (29, 'Midtown Madness 3', 'Michel', 'Xbox', 59, 6, 'Dans la suite des autres versions de Midtown Madness'),
    (30, 'Tetris', 'Florent', 'Gameboy', 5, 1, 'Qui ne connait pas ? '),
    (31, 'The Rocketeer', 'Michel', 'NES', 2, 1, 'Un super un film et un jeu de m*rde ...'),
    (32, 'Pro Evolution Soccer 3', 'Patrick', 'PS2', 59, 2, 'Un petit jeu de foot sur PS2'),
    (33, 'Ice Hockey', 'Michel', 'NES', 7, 2, 'Jamais joué mais a mon avis ca parle de hockey sur glace ... =)'),
    (34, 'Sydney 2000', 'Florent', 'Dreamcast', 15, 2, 'Les JO de Sydney dans votre salon !'),
    (35, 'NBA 2k', 'Patrick', 'Dreamcast', 12, 2, 'A votre avis  ?'),
    (36, 'Aliens Versus Predator : Extinction', 'Michel', 'PS2', 20, 2, 'Un shoot''em up pour pc'),
    (37, 'Crazy Taxi', 'Florent', 'Dreamcast', 11, 1, 'Conduite de taxi en folie !'),
    (38, 'Le Maillon Faible', 'Mathieu', 'PS2', 10, 1, 'Le jeu de l''émission'),
    (39, 'FIFA 64', 'Michel', 'Nintendo 64', 25, 2, 'Le premier jeu de foot sur la N64 =) !'),
    (40, 'Qui Veut Gagner Des Millions', 'Florent', 'PS2', 10, 1, 'Le jeu de l''émission'),
    (41, 'Monopoly', 'Sebastien', 'Nintendo 64', 21, 4, 'Bheuuu le monopoly sur N64 !'),
    (42, 'Taxi 3', 'Corentin', 'PS2', 19, 4, 'Un jeu de voiture sur le film'),
    (43, 'Indiana Jones Et Le Tombeau De L''Empereur', 'Florent', 'PS2', 25, 1, 'Notre aventurier préféré est de retour !!!'),
    (44, 'F-ZERO', 'Mathieu', 'GBA', 25, 4, 'Un super jeu de course futuriste !'),
    (45, 'Harry Potter Et La Chambre Des Secrets', 'Mathieu', 'Xbox', 30, 1, 'Abracadabra !! Le célebre magicien est de retour !'),
    (46, 'Half-Life', 'Corentin', 'PC', 15, 32, 'L''autre meilleur jeu de tout les temps (surtout ses mods).'),
    (47, 'Myst III Exile', 'Sébastien', 'Xbox', 49, 1, 'Un jeu de réflexion'),
    (48, 'Wario World', 'Sebastien', 'Gamecube', 40, 4, 'Wario vs Mario ! Qui gagnera ! ?'),
    (49, 'Rollercoaster Tycoon', 'Florent', 'Xbox', 29, 1, 'Jeu de gestion d''un parc d''attraction'),
    (50, 'Splinter Cell', 'Patrick', 'Xbox', 53, 1, 'Jeu magnifique !');
    


    • Partager sur Facebook
    • Partager sur Twitter
      17 novembre 2017 à 4:51:22

      'Salut,

      Ben : if  (erreur == base "test" inconnue){creer la base "test";}

      • Partager sur Facebook
      • Partager sur Twitter
      J'échange des connaissances. Si je les donnais, je n'en aurais plus
        17 novembre 2017 à 13:48:19

        Merci mais l idee c est pas de detourner les exeptions... c est plutot de trouver la faille pour pouvoir la corriger. C est en plus du code pure de openclassroom il devrais pas normalement avoir d erreur
        • Partager sur Facebook
        • Partager sur Twitter
          17 novembre 2017 à 13:54:33

          Bonjour,

          on dirait quand même que tu n'as pas créé la base de données.  Le dump de PhpMyAdmin que tu donnes n'est manifestement pas le tien puisqu'il date de 2010...

          • Partager sur Facebook
          • Partager sur Twitter
            17 novembre 2017 à 14:47:26

            Oui le code est pas le mien. C est le code de openclassroom dans le cour php et sql.

            J ai repris le code pour apprendre comment connecter le tout ensemble et cela ne fonctionne pas.

            Je suis sur et certain que normalement il y a pas d erreur dans le code car c est du copier coller de openclassroom.

            Je penses que je fais une mauvaise maneuvre.

            Moi j ai fini avec l apprentissage des fichiers maintenant je veux le faire avec base de donnee.

            • Partager sur Facebook
            • Partager sur Twitter
              17 novembre 2017 à 14:59:21

              Bon, je vais reposer la question plus clairement : as-tu créé la base de données ?
              • Partager sur Facebook
              • Partager sur Twitter
                17 novembre 2017 à 16:00:22

                https://openclassrooms.com/courses/concevez-votre-site-web-avec-php-et-mysql/lire-des-donnees-2

                Il faut que tu disposes bien de la base de donnée "test" sur ton phpmyadmin

                Pour te traduire ton erreur c'est que 

                <?php
                try
                {
                    // On se connecte à MySQL
                    $bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', '');
                }

                Ici, tu lui dis : Connecte toi à l'hôte "Localhost" à sa base de donnée "Test" avec le pseudo "root" et pas de mot de passe.

                Le problème qu'il te ramène c'est qu'il va dans ton MySQL local il s'y connecte MAIS ne trouve pas de base de donnée appeler "test"

                Les solutions étant : Créer la bdd qui si tu ne l'as pas fait, ou corriger le nom de la base si tu l'as modifié.

                -
                Edité par Fr0stFR 17 novembre 2017 à 16:06:55

                • Partager sur Facebook
                • Partager sur Twitter
                étudiant en BTS SIO (SLAM) en Alternance, je débute dans le dev web, mon premier site d'entrainement, je suis ouvert à toute suggestions.
                  17 novembre 2017 à 17:05:28

                  alors tu va dans phpmyadmin des fois que tu ais intallé wampserveur et que celui soit démaré par tes soins.

                  et dans l'onget sql la zone où l'on tape le text tu saisi : create database test

                  et tu clique sur le bouton executer qui est garé à droite 

                  Et oh ! miracle de la technologie ! une base au doux nom de test est crée.

                  Seulement elle est vide de table il va donc falloir en créer si tu veux stocker des données dedans.

                  Mais ça c'est dans la saison numéro 2 de la série

                  • Partager sur Facebook
                  • Partager sur Twitter
                  J'échange des connaissances. Si je les donnais, je n'en aurais plus
                    19 novembre 2017 à 6:11:28

                    Merci Frostfr de tes conseils.

                    En fait, mon erreur etait que j utilisais phpmyadmin pour creer le fichier sql et apres je dowlodais le fichier et je partait a partir de cela en le mettant dans le meme fichier que mon index.php.

                    Je savais pas qu on devait obligatoirement l aisser les information dans phpmyadmin.

                    Mon nom est god phil god....ce que tu me dit j etait capable de le faire et c est expliquet sur le site de openclassroom.

                    moi ca fonctionnais pas car je savais pas que cela fonctionnais pas sans le phpmyadmin car j avais creer un fichier connexiones et un fichier sql.

                    Bonne journee a tous

                    • Partager sur Facebook
                    • Partager sur Twitter

                    php et sql-message erreur debutant

                    × 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