[PHP/MySQL] PDO - bindValue ça bind pas

PDO - bindValue ça bind pas [PHP/MySQL] - PHP - Programmation

Marsh Posté le 04-11-2020 à 14:08:18    

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 :
  1. $post = array_map('strip_tags', $_POST);
  2. $post = array_map('trim', $post);
  3. $select = $pdo->prepare('SELECT * FROM users WHERE pseudo=:login');
  4. $select->bindValue(':login', $post['login'], PDO::PARAM_STR);
  5. if($select->execute()){
  6. //on fait les variables de session et tout.
  7. }


 
Sauf que ça me retourne

Code :
  1. 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... [:aelenia]  
 
Donc, deux question  [:icon3]  

  • 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  :D  
 

Reply

Marsh Posté le 04-11-2020 à 14:08:18   

Reply

Marsh Posté le 04-11-2020 à 17:47:24    

Bon, ben j'ai réécrit la ligne et c'est bon.
J'ai au passage changé les quote par des guillemets.
 
Probablement un copier/coller qui est mal passé.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed