Erreur : could not find driver / Problème base de données

Fermé
adriellens Messages postés 171 Date d'inscription mardi 21 avril 2009 Statut Membre Dernière intervention 18 décembre 2013 - Modifié par adriellens le 15/12/2013 à 22:28
adriellens Messages postés 171 Date d'inscription mardi 21 avril 2009 Statut Membre Dernière intervention 18 décembre 2013 - 18 déc. 2013 à 08:47
Bonjour,

J'ai un problème dans un code php, qui rentrerait des valeurs dans une base de données. (score, identifiant etc.. pour un jeu en ligne) Le code d'erreur qui m'est retourné est Erreur : could not find driver

Je suis sous un serveur free et le code marche bien en local. Testez le sur la page : http://costafan.free.fr/ProjetIF10/Jeu.php
Voici mon code :

score.php :

<p>Poster votre score</p>
<form action="post_score.php" method="post">
<label for="identifiant">Indiquez ici un identifiant</label><input type="text" id="identifiant" name="identifiant" />
<label for="score">Votre score : </label><input type="text" id="score" name="score" /><br />
<input type="submit" value="Envoyer" />
</form>

<div id = "score">
<?php
try{
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=jeu', 'root', '', $pdo_options );
}
catch(Exception $e)

{
// En cas d'erreur précédemment, on affiche un message et on arrête tout
die('Erreur : '.$e->getMessage()." Et :".phpinfo());


}
// On récupère tout le contenu de la table minichat
$reponse = $bdd->query('SELECT * FROM jeu ORDER BY score DESC');

// On affiche chaque entrée une à une
while ($donnees = $reponse->fetch())
{
echo '<p><strong>' . htmlspecialchars($donnees['identifiant']) . '</strong> : ' . htmlspecialchars($donnees['score']) .'<font size="1"> '.$donnees['date'].'</font>'.'</p>';

}

$reponse->closeCursor(); // Termine le traitement de la requête

?>
</div>


Fichier post_score.php
<?php
if(!empty($_POST['identifiant'])){
if(!empty($_POST['score'])){
try{
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=jeu', 'root', '', $pdo_options );

$req = $bdd->prepare('INSERT INTO jeu(identifiant, score, date) VALUES(:identifiant, :score, NOW())');
$req->execute(array(
'score' => $_POST['score'],
'identifiant' => $_POST['identifiant'],
));

echo 'le score à bien été enregistré!';
}




catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
}
}
?>
--
Nous sommes faits avec des defauts pour que chacun prenne de l'importance aux yeux des autres...

4 réponses

kherox Messages postés 131 Date d'inscription dimanche 13 janvier 2013 Statut Membre Dernière intervention 17 octobre 2015 1
16 déc. 2013 à 11:53
je crois bien que la igne d 'erreur est bienexplicite , il ne trouve pas le driver pdo sur le serveur donc soit le module n est pas activé par ton hebergeur donc essaie de desactiver le module pdo en local tu va voir la reponse et compare l'erreur son le serveur
0