problème requête mysql et variable superglobale.

Mammouth du PHP | 702 Messages

21 févr. 2012, 18:35

Bonjour à tous,
j'ai cette requête ci qui me renvoit une erreur, alors que pourtant la synthaxe me semble bonne.
 <?php
try
{
    $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
    $bdd = new PDO('mysql:host=localhost;dbname=users', 'root', '', $pdo_options);
    
    $reponse = $bdd->query("SELECT nom FROM gestionnaire WHERE login LIKE ".$_SESSION['login']."");

    while ($donnees = $reponse->fetch())
    {
        echo $donnees['nom'] . '<br />';
    }
    
    $reponse->closeCursor();
}
catch(Exception $e)
{
    die('Erreur : '.$e->getMessage());
}
?>
Le tout me renvoit l'erreur suivante: Erreur : SQLSTATE[42S22]: Column not found: 1054 Unknown column 'stanislas' in 'where clause'

en réalité, je souhaite renvoyer les informations concernant la personne dont le login est celui récupéré dans le formulaire de login. la session start() est bien initiée en début de feuille.

Quelqu'un saurait il m'aider?
Par avance merci.

cdt, SP.

Eléphant du PHP | 179 Messages

21 févr. 2012, 18:37

hello,
met des cotes autour de ta variable, sinon il va prendre la valeur de ta varaible session pour une colonne ;)
Modifié en dernier par Thibaud C le 21 févr. 2012, 18:39, modifié 1 fois.

Eléphant du PHP | 209 Messages

21 févr. 2012, 18:38

Tu as oublié les quotes pour protéger ta chaîne..
SELECT nom FROM gestionnaire WHERE login LIKE '".$_SESSION['login']."'
Edit : Erf la même avec la requête

Mammouth du PHP | 702 Messages

21 févr. 2012, 18:53

Merci de votre réactivité :) c'est sympa ... vous risquez de me revoir souvent
 $reponse = $bdd->query("SELECT * FROM gestionnaire WHERE login LIKE '".$_SESSION['login']."'")