[RESOLU] merci FlorentG [MYSQL] INSERT INTO ne veut plus de '

INSERT INTO ne veut plus de ' [RESOLU] merci FlorentG [MYSQL] - SQL/NoSQL - Programmation

Marsh Posté le 09-05-2006 à 16:30:08    

:sweat:  
 
Bon voilà quand même quelques temps que j'ai pas re-develloppé, et depuis les versions on dû évoluer ...
 
Je n'arrive plus a faire ce qui auparavant fonctionnait tout a fait correctement ...
Explications ..
 
J'envoi un ou plusieurs champs textes d'un formulaire vers une base MySQL, ce sont des chaines de caractères qui contiennent hélas parfois des guillemets simples ( ' )
Et ca pose problème dans ma requête INSERT INTO ...
Y a 3 - 4 ans ca fonctionnait nickel, je piges pas trop même pourquoi ca ne marche plus (j'ai même pas changé mon code en plus ...)
 
news c'est le nom de ma table, et toutes les variables sont bien remplies (car NOT NULL demandé !)
 

Code :
  1. mysql_query ("INSERT INTO news VALUES ('$id','$pseudo','$titre','$date','$textin') " )


 
Le soucis c'est que lorsque mon $textin contient des fichus caractères ' (qui sont utiles en plus et aide a la lecture) ba c'est simple c'est impossible d'enregistrer dans la base ... ca fait erreur de syntaxe ...
 
Mais pourquoi est-il si méchant ???
 
Si quelqu'un a une idée ... je cherche en parrallèle mais là, je comprends pas tout !  :pt1cable:


Message édité par marcoluni le 09-05-2006 à 16:49:23
Reply

Marsh Posté le 09-05-2006 à 16:30:08   

Reply

Marsh Posté le 09-05-2006 à 16:32:52    

Ben c'est totalement normal ! Faut escaper les caractères louches, ça a toujours été le cas, et ça protège en plus de certaines failles de sécurités...

mysql_query(
  "INSERT INTO news VALUES('" . mysql_real_escape_string($id) . "', '" . mysql_real_escape_string($pseudo), etc...

Reply

Marsh Posté le 09-05-2006 à 16:43:35    

FlorentG a écrit :

Ben c'est totalement normal ! Faut escaper les caractères louches, ça a toujours été le cas, et ça protège en plus de certaines failles de sécurités...

mysql_query(
  "INSERT INTO news VALUES('" . mysql_real_escape_string($id) . "', '" . mysql_real_escape_string($pseudo), etc...



 
Merci bieng alors, je va essayer de ce pas !
La vache mon code va plus être très lisible alors ...
 
Remarque je fais çà uniquement sur les champs qui peuvent contenir un ( ' ) sinon les autres ce n'est pas neccessaire, ce sont des chiffres ...
 
Depuis quand c'est obligatoire en somme ?
 
edit : resolu avec ton aide ! merci FlorentG


Message édité par marcoluni le 09-05-2006 à 16:49:59
Reply

Marsh Posté le 09-05-2006 à 17:51:43    

C'est obligatoire depuis toujours :D Et fait attention pour les chiffres, si un gars mets autre chose dedans qu'un chiffre, *BOOM*. Vérifie bien le type de données des champs

Reply

Marsh Posté le 10-05-2006 à 09:13:18    

FlorentG a écrit :

C'est obligatoire depuis toujours :D Et fait attention pour les chiffres, si un gars mets autre chose dedans qu'un chiffre, *BOOM*. Vérifie bien le type de données des champs


 
Ok merci du conseil, va falloir que je revois mes acquis là parceque beaucoup de choses on changés (methodes POST et GET aussi visiblement !)
 
J'ai pas changé mon code pourtant ca fonctionnait bien avant je suis pas fou !  :heink:  
 
Tant d'évolutions en 5 ans !!
 
 :lol:  
 
Merci encore !  :hello:

Reply

Sujets relatifs:

Leave a Replay

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