Pb requete SQL

Pb requete SQL - PHP - Programmation

Marsh Posté le 25-06-2008 à 10:27:45    

Bonjour j'ai un petit problème sur ma requete SQL, cela vient d'un problème de guillement, simple quote, seulement j'ai essayé dans tous les sens, et je n'arrive pas à trouver la solution.
 
Quelqu'un pourrait-il m'aider.
 
Voila la requete :
 
$sql = "INSERT INTO usr_tmp(NOM, PRENOM, LOGIN, PASSW, MAIL) value (".$_REQUEST['nom'].", ".$_REQUEST['prenom'].", ".$_REQUEST['login'].", ".$_REQUEST['motdepasse'].", ".$_REQUEST['mail']." )";
 
Merci d'avance

Reply

Marsh Posté le 25-06-2008 à 10:27:45   

Reply

Marsh Posté le 25-06-2008 à 10:33:27    

1/ Si tu as un pb de SQL pourquoi le mettre dans la cat PHP?

 

2/Quand on insère des chaines de caractères en SQL, elles doivent être entourées par des quotes

 

3/ Ta requête est l'exemple type de ce qu'il ne faut pas faire. On ne met jamais les informations envoyés par le client directement dans la requête ( injection sql ).
Si tu ne peux pas te servir de requêtes préparées (mysqli, pdo, ... ) je te recommande de passer par un combo sprintf + mysql_real_escape_string:

Code :
  1. $sql = sprintf("INSERT INTO usr_tmp(NOM, PRENOM, LOGIN, PASSW, MAIL) value ('%s', '%s', '%s', '%s', '%s' )",
  2. mysql_real_escape_string($_REQUEST['nom']),
  3. mysql_real_escape_string($_REQUEST['prenom']),
  4. mysql_real_escape_string($_REQUEST['login']),
  5. mysql_real_escape_string($_REQUEST['motdepasse']),
  6. mysql_real_escape_string($_REQUEST['mail']));


Message édité par anapajari le 25-06-2008 à 10:34:11

---------------
Software and cathedrals are much the same - first we build them, then we pray.
Reply

Marsh Posté le 25-06-2008 à 11:18:07    

Merci cela résoud le problème

Reply

Sujets relatifs:

Leave a Replay

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