Hello all !
Je me lance dans l'utilisation des requêtes via PDO, et pour me faire la main, j'ai attaqué par le formulaire de login.
J'ai pu créer le compte via PHP sans soucis.
Maintenant j'en suis à l'authentification. Voici mon code, en bref et simplifié :
Code :
- $post = array_map('strip_tags', $_POST);
- $post = array_map('trim', $post);
- $select = $pdo->prepare('SELECT * FROM users WHERE pseudo=:login');
- $select->bindValue(':login', $post['login'], PDO::PARAM_STR);
- if($select->execute()){
- //on fait les variables de session et tout.
- }
|
Sauf que ça me retourne
Code :
- Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '=?'
|
Y'a donc un truc que j'ai pas saisi...
Donc, deux question
- Hé pourquoi le bindValue ne bind pas ? (j'ai essayé en mettent "brutax" à la place de la variable)
- Hé pourquoi la bonne pratique veut qu'on bind les values plutôt que de mettre directement les variables dans la chaîne de requête SQL ?
voilà voilà.
Merci