'PDOException' with message 'could not find driver'

Eléphant du PHP | 180 Messages

10 avr. 2008, 22:57

Bonjour,

je voudrais savoir comment régler mon problème(voir titre). J'utilise WAMP et le PHP_PDO_mysql et php_pdo sont bien actif.

Code : Tout sélectionner

<?php $user = 'root'; $password = 'xxxx'; $base = 'production'; $host = 'localhost'; $dsn = 'mysql:dbname='.$base.';host='.$host; $db = new PDO( $dsn, $user, $password ); $sql = 'SELECT * FROM `ctrlsp`'; $statement = $db->prepare($sql); $statement->execute(array(':id_ctrl' => '1')); $ctrlsp = $statement->fetch(); echo($ctrlsp['Repertoire']); ?> [php] merci d'avance[/php]

Mammouth du PHP | 686 Messages

10 avr. 2008, 23:20

J'arrive pas trop a cerner cette ligne
$dsn = 'mysql:dbname='.$base.';host='.$host;
Je ne sais pas ou s'arrete ta variable $dsn, déjà tu ferai mieux de mettre des guillemets pour definir tes variables
après je ne sais pas si c'est ca que tu veux coder :
$dsn = "mysql:dbname='.$base.';$host='.host.'";

Mammouth du PHP | 2937 Messages

10 avr. 2008, 23:33

Il y a une erreur dans le code, il faut écrire :
$db = new PDO ('mysql:host=locahost;dbname=ta_base', 'root', '');

Mammouth du PHP | 686 Messages

10 avr. 2008, 23:39

J'ai une question : c'est quoi PDO ? :?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9783 Messages

10 avr. 2008, 23:46

J'ai une question : c'est quoi PDO ? :?
Une couche d'abstraction pour les bases de données: http://fr.php.net/pdo
Quand tout le reste a échoué, lisez le mode d'emploi...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

11 avr. 2008, 00:33

J'arrive pas trop a cerner cette ligne
$dsn = 'mysql:dbname='.$base.';host='.$host;
Non non, c'est bien codé.
$base='maBase';
$host='monHost';
$dsn = 'mysql:dbname='.$base.';host='.$host;
echo $dsn; // Affichera "mysql:dbname=maBase;host=monHost"
Je ne sais pas ou s'arrete ta variable $dsn, déjà tu ferai mieux de mettre des guillemets pour definir tes variables
après je ne sais pas si c'est ca que tu veux coder :
$dsn = "mysql:dbname='.$base.';$host='.host.'";
Là, par contre, je me permettrais te t'infirmer en disant qu'il est beaucoup mieux que les variables soient en dehors des chaines, donc préférer la 1ère solution, et pas la seconde ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 686 Messages

11 avr. 2008, 00:41

C'est noté pour mes prochaines boucles
Merci des conseils :merci:

Eléphant du PHP | 180 Messages

11 avr. 2008, 07:50

j'ai voulu faire comme ça :
$sqldb = new PDO('mysql:host=localhost;dbname=production','root','') or die ('Impossible de se connecter à la base!');

$query = "insert into ctrlsp (Datescan,Heurescan,Nomfichier,Datefichier,Heurefichier) values ('2008-04-10','20:00:00','tyty.txt','2008-04-10','20:00:00')";

$stmt = $sqldb-> prepare($query);
mais j'ai toujours le même message d'erreur
'PDOException' with message 'could not find driver'

ViPHP
ViPHP | 2287 Messages

11 avr. 2008, 09:18

mais j'ai toujours le même message d'erreur
'PDOException' with message 'could not find driver'
Ce message signifie que PDO ne dispose pas du composant permettant de dialoguer (= driver) avec ton type de base de données (ici mysql). En clair, Ok tu as installé pdo, mais cela ne suffit pas, il faut aussi pdo_mysql ;-)
if(!@work()){ Nespresso(); } else { what(); }
______________________________

ViPHP
pjl
ViPHP | 2119 Messages

11 avr. 2008, 09:40

Ou que ton php.ini n'a pas été paramétré pour utiliser mySQL en PDO.

Normalement, WAMP est fourni avec tout ce qu'il faut pour travailler avec mySQL.

Selon ta version de WAMP, c'est soit le php.ini soit phpForApache.ini qui est à modifier.
Il suffit de décommanter la ligne extension=php_mysql.dll.

silvioazerty
Invité n'ayant pas de compte PHPfrance

22 juil. 2016, 17:59

excuser moi mais j'ai ce code erreur

Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' in C:\wamp67\www\New folder\traitement.php on line 3


PDOException: could not find driver in C:\wamp67\www\New folder\traitement.php on line 3

je crois que je ne peut pas me connecter a ma base mais je comprend pas esque ce code est bon:

$bdd = new PDO('mysql:host=127.0.0.1;dbname=espace_membres','root', '');

merci d,avance