Où l'erreur (php,mysql) ?!!

Résolu
Bonjour,

je voudrais savoir où l'erreur ici :'(

$reponse = $bdd->query('SELECT Nom , Prenom FROM bdusers WHERE email = '$_POST['mail']' AND mdp = '$_POST['pw']'');

je veux afficher le nom et le prénom d l'utilisateur connecté d'après l' email et le mdp tenues du formulaire
sachant que les champs sont équivalents aux ceux de la bd et du formulaire !

5 réponses

  1. <?php
    try
    {
    $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
    $bdd =new PDO('mysql:host=localhost;dbname = bdblog','root', '', $pdo_options);
    echo('Connexion établie ');
    $reponse = $bdd->query('SELECT Nom , Prenom FROM bdusers WHERE email = '.$_POST['mail'].' AND mdp = '.$_POST['pw'].'');
    echo ('req');
    while($donnees=$reponse->fetch())
    {
    echo 'Bienvenue'.$donnees['Nom'].$donnes['Prenom'];
    }
    }
    catch (Exception $e)
    {
    die ('Erreur:'.$e->getmessage());
    }
    ?>
    2
    1. a priori sa va

      verifie l'orthographe
      entre ce que tu as ecrit en PHP et ce qu'il ya dans ta base SQL

      et assure toi que la base ainsi que lea table existes
      0
    2. TT est bien :/ , je suis bloquée

      un grand merci pour votre passage et votre patience.Zoro.
      0
  2. tes variables $_POST['mail'] et $_POST['pw'] sont mal concaténées

    ecrit :

    $reponse = $bdd->query('SELECT Nom , Prenom FROM bdusers WHERE email = '.$_POST['mail'].' AND mdp = '.$_POST['pw'].'');

    en gros quand tu veut afficher une variable dans une autre variable,
    il faut mettre un quote et un point

    $var = 'chaine'.variable.'chaine';
    0
    1. Erreur:SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected

      merci pour la correction , mais ca m'affiche cette erreur maintenant :( pourtant la connexion à la base est bien établie et la base est nouvelle
      0
      1. la connexion est peut etre etablie mais il semble qu'il ne sait pas sur quelle base de donées travailler.

        fait voir le code que tu utilise pour te connecter a mySQL
        0
        1. S'il vs plait
          pour les types de email et pw en mysql ca reste tjrs varchar
          et en php je les ai mis text et password ca pourrait provoquer le problème ?
          car mnt il m'affiche cette erreur !

          Erreur:SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@gmail.com AND mdp = bd@12' at line 1
          0
          1. il y a autre chose que je n'avait pas vu

            en plus de ce qu'on a mis precedement,

            il faut rajouter des guillemets autour des champs sql dans ta requete

            $reponse = $bdd->query('SELECT Nom , Prenom FROM bdusers WHERE email = "'.$_POST['mail'].'" AND mdp = "'.$_POST['pw'].'"');
            0
          2. uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii t'es un hérooooooooooooooooo .Zoro. merciiiiiiiiiiiiiiiiiiiiii
            0
          3. de rien
            au plaisir
            0