je suis en train de suivre le cours sur php mais je n'arrive pas à me connecter à la base de données Jeux que j'ai créé.
dans le cours on doit faire ceci :
<?php
try
{
// On se connecte à MySQL
$bdd = new PDO('mysql:host=127.0.0.1;dbname=Jeux;charset=utf8', 'root', '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
?>
Malheureusement cette erreur s'affiche :
Erreur : SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES)
j'ai un peu fait le tour des différents forum mais rien de concluant. je ne comprends pourquoi je n'ai pas accès.
J'ai beau changer localhost par l'adresse, enlever ou mettre le mdp root ca ne change rien.
J'ai bien vérifié les droits sur la base de données c'est ok.
je reviens vers vous pour vous dire tout d'abord un grand merci pour votre aide.
Ca fonctionne !
Voici ce qui fonctionne :
<?php
try
{
// On se connecte à MySQL
$bdd = new PDO('mysql:host=127.0.0.1;dbname=Jeux;charset=utf8;port=3307', 'root', 'root'); // il faut préciser le port ici pour que ca fonctionne. Par défaut il doit, je pense, essayer de se connecter a Mariadb
}
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
?>
Merci à vous et notamment à Aurélien.C qui m'a aiguillait sur la bonne piste.
J'espere que ce poste saura aider les débutants comme moi
- Edité par Nicolas Michoux 6 novembre 2020 à 10:48:55
@FelicienJosephManampisoa Bonjour merci de ne pas squatter le sujet résolu des autres, créer votre propre sujet dans le respect des règles du forum à savoir qu'un message commence par des règles de politesses (Un bonjour ou des salutations à la communauté et se termine par des remerciements par avances pour les futures réponses), la description de votre problème et le code que vous avez écrit inséré sur le forum à l'aide de l'outil d'intégration de code soit le bouton code </>.
Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.
Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre. En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.
Au lieu de déterrer un sujet il est préférable :
soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
soit de créer un nouveau sujet décrivant votre propre contexte
ne pas répondre à un déterrage et le signaler à la modération
Activer les erreurs PDO / (julp) htmlspecialchars / FAQ PHP / Pas d'aide par MP
Activer les erreurs PDO / (julp) htmlspecialchars / FAQ PHP / Pas d'aide par MP
Activer les erreurs PDO / (julp) htmlspecialchars / FAQ PHP / Pas d'aide par MP