Connection impossible par $bdd = new PDO

Résolu
zgsir Messages postés 1 Statut Membre -  
 zgsir -
J'ai créé une base sc_z avec phpmyadmin. Je peux y faire des requêtes sans problème.
J'ai fait un petit programme qui veut lire la base et, dedans, la table t_utilisateur.
Pas moyen de me connecter à la base, j'ai un message d'erreur.
Voici mon code pour la partie php :

<p> Bonjour !<p/>
<?php
// On teste si le pseudo et le mot de passe sont remplis
if ($_POST['pseudo'] == NULL OR $_POST['pass']== NULL) // ici, l'un au moins est vide
{
echo 'Il y a une anomalie. Saisissez bien votre pseudo et votre mot de passe'; ?>
<!-- alors on revient sur la page0-->

<p>
<input type= "submit" value ="Revenir à l'écran précédent"/>
</p>

<?php
}
else
{
//on va chercher sur la base si le pseudo et le mot de passe existent et sont ok

try
{
// on se connecte à la base sc_z sur localhost.
$bdd = new PDO('mysql:host=localhost;dbname=sc_z' , 'root' , '');
}
catch(Exception $e)
{ // si erreur, affichage du message et tout s'arrête
die('Erreur : '. $e->getMessage());
//sinon, on continue
// on récupère ce qu'il nous faut de la table t_utilisateur
}
//$reponse = $bdd->query("SELECT ut_pseudo, ut_passe FROM t_utilisateur WHERE ut_pseudo = $_POST['pseudo'] AND ut_passe = $_POST['passe']");
if $reponse <> NULL
{

echo " Tu es bien connu, tu t'appelles " . $_POST['pseudo'] . " et ton mot de passe est " . $_POST['pass'] . " ! " ;
}

}
$reponse-> closeCursor();
?>

C'est $bbd = new PDO (....) qui coince. Sur Notepad++ la parenthèse reste en gris au lieu de se colorer et, quand j'exécute, l'erreur m'envoie bien sur cette ligne.
J'ai bien vérifié que php_pdo_mysql est coché.
Je ne sais plus que faire
Merci d'avance pour m'aider

2 réponses

  1. reverb94 Messages postés 108 Statut Membre 1
     
    Salut à toi
    essaye plutôt ceci pour ta connexion

    <?php
    try
    {
    	$dns = 'mysql:host=localhost;dbname=sc_z';
      $utilisateur = 'root';
      $motDePasse = 'ton mdp';
      $bdd = new PDO( $dns, $utilisateur, $motDePasse, array (PDO::MYSQL_ATTR_INIT_COMMAND=>'SET NAMES utf8',PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION));
    }
    catch (Exception $e)
    {
            echo 'Erreur : ' . $e->getMessage();
    }
    ?> 
    


    Cordialement.
    0
  2. ibrahima10100 Messages postés 7 Statut Membre
     
    <?php
    salut !! essai de mettre le script de la connection en haut et vérifie si root na pas d'autres mot de passe !! ca devrai marcher
    try
    {
    $bdd = new PDO('mysql:host=localhost;dbname=sc_z', 'root', '');
    }
    catch(Exception $e)
    {
    die('Erreur : '.$e->getMessage());
    }
    ?>
    0
    1. zgsir
       
      Merci pour ton aide. J'ai fait pas mal de corrections car il manquait quelques parenthèses, points-virgules et autres petites choses que j'ai pu trouver en utilisant la gestion des erreurs
      0