Les guillemets dans les requêtes SQL

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Les guillemets dans les requêtes SQL

Re: Les guillemets dans les requêtes SQL

par kopax » 13 avr. 2010, 18:37

Vu l'unique utilité et la simplicité du addslashes(), je suis sur que ça aurai du marché.

Mais à vérifié mon code 50 fois, il n'y avais rien de gênant j'en suis sur.
Entre le moment ou j'envoi le post, en haut de page on récupère les post et ajoute à la base de donnée, rien de traité avant.
Vraiment bizarre.
Au moins ca dépanne, et merci pour la petite précision sur le real_escape_string

Re: Les guillemets dans les requêtes SQL

par devlop78 » 13 avr. 2010, 17:45

addslashes aurait dû fonctionner.mysql_real_escape n'est jamais qu'un addslashes avec soit disant l'échappement de \n.

Re: Les guillemets dans les requêtes SQL

par kopax » 13 avr. 2010, 11:01

Merci bien pour l'infos.
C'est effectivement ce que je recherchai.

Re: Les guillemets dans les requêtes SQL

par jojolapine » 13 avr. 2010, 09:25

Bonjour,
Il faut utiliser mysql_real_escape_string() dans ton cas ;)

Re: Les guillemets dans les requêtes SQL

par kopax » 13 avr. 2010, 05:58

Que dit le message d'erreur Mysql ? Peut-être que l'erreur vient d'ailleurs et quel est ton code avant ?
Voici l'erreur :
INSERT INTO contact (name,title,company,subject,message,tel,fax,mail) VALUES('Un nom','Un titre','Une compagnie','Un sujet','Ceci est le message du text area, je met un apostrophe à la fin du texte et je vais planté le script '','0123456789','0123456789','[email protected]')
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 '0123456789','0123456789','[email protected]')' at line 2
Voici ce qu'il y a avant :
$message = $_POST['message']; 
Rien de plus, j'ai essayé avec le addslashs sur $message mais ça n'a pas fonctionné :/

Re: Les guillemets dans les requêtes SQL

par devlop78 » 13 avr. 2010, 01:29

Que dit le message d'erreur Mysql ? Peut-être que l'erreur vient d'ailleurs et quel est ton code avant ?

Re: Les guillemets dans les requêtes SQL

par kopax » 12 avr. 2010, 23:07

	$sql = "INSERT INTO $table_contact (id_contact,name,title,company,subject,message,tel,fax,mail) 
	  VALUES('','$name','$title','$company','$subject','$message','$tel','$fax','$mail')";
$req = mysql_query($sql) or die($sql_error.$sql.'<br>'.mysql_error()); 
Voici ma requêtes SQL, je connais pas 50 méthodes je connais que celle la :P
C'est pour une table MySQL

Re: Les guillemets dans les requêtes SQL

par jojolapine » 12 avr. 2010, 22:57

Bonsoir,

Quel est ta méthode pour exécuter tes requêtes? fonctions mysql_*() ? mysqli_*() ? PDO ?
Si c'est PDO, méthode utilisée est $objectPDO->quote()

Bon sinon un peu plus de code serait bienvenu :)

Les guillemets dans les requêtes SQL

par kopax » 12 avr. 2010, 22:30

Bonjour,

J'ai un problème j'ai fais un formulaire pour envoyé des mails, avec ajout du contenu dans la base de donnée.

Ca fonctionne mais si l'ajout dans la base de donnée comporte des caractères speciaux comme ', la j'ai le droit à une erreur sql

J'ai essayé avec addslashes et realescapestring avant de faire ma requêtes, mais l'erreur persiste.
$text = "l'avion";
$text = addslashes($text);
// J'ajoute, erreur quand même
$text = "l'avion";
$text= $req -> real_escape_string($text);
// J'ajoute, ca échoue aussi.
Je ne dois pas employé les bonnes méthodes.

Si quelqu'un sais comment faire, merci d'avance.