Bonsoir,

J'utlise EasyPHP comme serveur de test, j'aimerais me connecter a ma base de donnée avec un petit script pdo.

Quand je vais sur ma page J'ai "Could not find Driver", j'en ai déduis que c'était MySQL le problème. La question est comment le régler ?
J'ai enlevé les ; pour PDO et MySQL dans les php.ini (de produc et dev), mais là je ne vois pas comment faire.

Mon script PHP de connexion (Au cas ou)

<?php
 $host = "localhost";
 $user = "root";
 $bdd = "lab";
 $pass = "";
 $port = "80";
try {
     $bdd = new PDO('mysql:host='.$host.';dbname='.$bdd.'', $user, $pass);
}
catch(PDOException $e)
{
    echo $e->getMessage();
}
 ?>

J'utilise ce script dans un fichier externe et l'appel avec un require.

Merci d'avance !

11 réponses


salut regarde ta variable $bdd ="lab" change la en $db elle doit faire conflit avec celle de $bdd pour PDO

Un phpinfo() devrait t'indiquer si le driver est chargé
pdo_mysql et mysqli utilisent tous les deux le mysql nativ driver (mysqlnd)
dans phpinfo tu dois voir à la fois mysqlnd et pdo_mysql

Laznet
Auteur

Dans mon Phpinfo j'ai PDO Support - Enabled et mysql support - Enabled j'en déduis qu'ils sont activé.
Je vais maintenant tester ta réponse Dawudesign

Il n'y a pas de raison que $dbb rentre en conflit avec elle même. Il assigne juste une nouvelle valeur à $bdd en utilisant l'ancienne valeur de $bdd. C'est le même principe que $foo = "bar " . $foo . " baz";.

Pourquoi est-ce que tu as .'' dans ton après ton dbname ?

Comment fais-tu ton phpinfo ?

Laznet
Auteur

Tleb, j'ai un fichier déjà pré-générer par easyphp. phpinfo.php et oups pour le '', un oublie ^^

Bonsoir.
Essaies tout simplement de remplacer par ceci :

$bdd = new PDO("mysql:host=$host;dbname=$bdd", $user, $pass);
Laznet
Auteur

Merci pour ta réponse Lartak, mais ça n'a rien changé :/

Le soucis ne vient pas du PHP, mais de l'installation à priori.

comme indiqué au dessus, regarde via phpinfo() que tu as bien le driver mysql, ce qui n'est probablement pas le cas. Et donc il faut penser à l'installer (par exemple : apt-get install php5-mysql)

Laznet
Auteur

Kenor, ça fais peut être la 5ème ou 6ème fois que je me re-fais l'installation xD.
Et comme dis plus haut j'ai déjà regardé dans le phpinfo et le driver est activé.
Et je ne peux pas utiliser apt-get install vu que je ne suis pas sur un Linux, c'est un serveur local sur Windows.

Tu peux nous upload tous les php.ini que tu connais ? (Par directement ici, sur un truc du genre paste.awesom.eu)

Laznet
Auteur

Voici mon php.ini je ne met qu'un seul lien vu que c'est la même config sur les trois fichier (php.ini-dev, php.ini-production et php.ini)