Bonjour,
Je rencontre un problème d'accès à une base de données en local. Je suis la formation PHP et j'essaye de mettre en place l'exmple de fin. J'arrive à la partie récupération des articles dans la base de données.
Ma page fonctionne correctement sans lancer le serveur PHP mais dès que je démarre le serveur PHP en fléchant sur un dossier précis, ça plante et je n'arrive pas à instancier PDO.
J'utilise Visual sutdio code et phpmyadmin (par le biais de WAMP).

Ce que je fais

J'ai essayé de remplacer localhost par 127.0.0.1 comme dans le tuto, mais rien ne passe !

Ce que je veux

Comprendre ce qui ne fonctionne pas !

Ce que j'obtiens

La page plante !

10 réponses


Bonjour,
Qu'elle est le code ?
Es-tu sur de te connecter à la bonne BDD ? (mysql et non mariadb ou inversement) ?
Que dise les logs ?

Merci pour ton retour,
Ce qui me parait bizarre, c'est qu'avec le même code, sans démarrer le serveur php dans le terminal de visual studio code, ma page fonctionne sans souci, à partir du moment ou je lance le serveur pour avoir l'adresse localhost:8000, ça ne fonctionne plus : avec le message suviante : Erreur : could not find driver
Alors que quand j'arrête le serveur interne PHP et passe par l'adresse suivante http://localhost/blog/views/post/index.php, je récupère bien mon objet PDO.
Je lance WAMPSERVER est-ce cela qui pose souci et qui pose un souci au niveau des ports ?

En espérant avoir été clair !
Merci par avance

oui possible

En arrêtant wampserver et en lancant le serveur php depuis le terminal, pas mieux, j'ai remplacé localhost par 127.0.0.1 comme dans le tuto mais pas mieux non plus !
Comment savoir ce que je dois mettre dans le dsn ?
Merci par avance,

en ouvrant phpmyadmin, tu devrait voir le "port" tout en haut et par défaut pour PDO c'est 3306

Est-ce que je dois mettre à la place de localhost dans mon dsn : pour me connecter sur le port 3306 ?
Merci par avance

il serait bien de lire ce que je marque / demande

J'ai bien vu ton message,
J'ai mis mon dsn comme ceci : mysql:host=localhost;port=3306;dbname=blog
Le message d'erreur est le suivant : Erreur : could not find driver
Merci par avance

pdo est bien activé sur wamp ?

Oui, car cela fonctionne en passant par l'adresse http://localhost/blog/views/post/index.php, j'arrive à récupérer mes articles. Mais pas sur la page localhost:8000 que j'ouvre après avoir lancé le serveur avec la commande php -S localhost:8000 -t public, ça m'indique Erreur : could not find driver !

Je l'utilise sans souci pour d'autres projets !