Erreur de syntaxe que je ne comprend pas ! (aléatoire en plus) [MySQL] - PHP - Programmation
Marsh Posté le 21-11-2003 à 20:58:01
ca te donne une erreur quand tu essayes d'ajouter une news avec des apostrophes (genre "3 fois d'affilé" ) ?
ca te donne une erreur quand tu essayes d'ajouter une news ne contenant pas d'apostrophe ?
si la reponse est "oui" et "non", jette un oeil sur http://www.php.net/fr/addslashes
Marsh Posté le 21-11-2003 à 20:58:04
Ah ! Je viens de voir que ce n'est pas si aléatoire ! enfait, c'est a partir du moment ou il y a un apostrophe ' dans un des champs que ca merde !
Marsh Posté le 21-11-2003 à 21:02:35
Chaque fois que l'on utilise une chaîne de caractère dans une requête, il faut la protéger avec addslashes(). Toujours
Marsh Posté le 21-11-2003 à 21:06:45
Je comprend pas...
Encoire un phénomene aléatoire !
J'ai rajouter o code de news_post.php cette ligne :
$contenu = addslashes($contenu);
Premeir test avec ' : Ca amrche, new spostée avec succès, mais le ' a disparu de la news !
Autres tests : La meme erreur ! non stop !
Marsh Posté le 21-11-2003 à 21:13:46
ah non c bon ! dsl, pb de serveur enfait ! Tout ets rentré dans l'ordre merci a vous pour cette focntion primordiale
(je me demande quand meme pq j'avais aps ce probleme sur un autre serveur alors que j'entré des ' et des " dans els champs ! enfin bon ^^)
Marsh Posté le 21-11-2003 à 22:09:49
rainckill a écrit : grilled ^^ |
pas de beaucoup en plus
Il est possible que l'autre serveur soit configuré avec les "magic quotes" activées (cf http://www.php.net/manual/fr/ref.i [...] quotes-gpc )
Marsh Posté le 24-11-2003 à 21:58:12
Oui c'est ce que je me disais...
Sinon une deriere question, si j'instaure la ligne $contenu2 = addslashes($contenu); j'ai l'impression que la ligne du dessus : $contenu2 = nl2br($contenu); qui 'est plus pris en compte... Est ce normal ?
Marsh Posté le 24-11-2003 à 22:21:34
si tu as:
Code :
|
oui c'est normal : la ligne 1 ne sert a rien puisque de toute facon dans la ligne 2, le contenu de $contenu2 sera écrasé par $contenu addslashé
tu peux faire
Code :
|
ou bien directement
Code :
|
Marsh Posté le 24-11-2003 à 23:58:36
mrBebert a écrit : Chaque fois que l'on utilise une chaîne de caractère dans une requête, il faut la protéger avec addslashes(). Toujours |
ou alors faire ça proprament en utilisant des paramètres.
en C# ça donne ça par exemple :
|
Il y a l'équivalent en PHP (ou alors y'a vraiment un problème)
Niveau performance, c'est du simple au centuple. (le SGBD conserve la requête en mémoire d'une fois à l'autre, elle se comporte alors comme une procédure stockée)
Marsh Posté le 21-11-2003 à 20:53:37
Voila l'erreur que je rencontre... de temps en temps ! J'ai mis au point un systeme de news, et de temps en temps il me dit 'news postée avec succes', et defois je rencontre cette erreur, je ne comprend pas cet état aléatoire ! D'autant plus que le spages de codes marchent bien car une copie sert depuis plus d'un an sur un autre site sans pb !
Quelqu'un aurait t'il une idée ? Pour info, je le met quand, meme, voila le code de news_post.php :