|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre régulier
![]() Inscription : janvier 2004 Messages : 228 ![]() |
Dans une application de cahier de texte que je viens de developper en Php4/MySql, j'offre la possibilité de créer un nouvel enregistrement en reprenant le contenu des champs d'un enregistrement précédent.
Tout cela fonctionne parfaitement SAUF erreur lorsqu'un champ de l'enregistrement initial possède un apostrophe. Pas de problème si on double l'apostrophe ds le champ initial Exemple dans l'enregistrement initial nommé "activité", j'ai ce contenu avec apostrophe devant atome affiché par PhpMyadmin Je copie en utisant ce code Code :
Code :
|
||||
|
|
00
|
|
|
#2 |
|
Membre chevronné
![]() Inscription : mai 2005 Messages : 657 ![]() |
Salut,
Effectivement je pense que tu as un problème dans l'utilisation de addslashes(). Essaye de vérifier un peu les résultats retournés par ta fonction GetSQLValueString() à l'aide de echo. Il me semble que lorsque tu récuperes des valeurs d'une requete SQL, elles n'ont jamais d'apostrophes rajoutés, quelque soit la valeur de magic_quotes_gpc (gpc étant l'abréviation de Get Post Cookie), or dans ton cas tu effectues quand même le traitement. En gros, tu traites les données provenant de ta base de la même manière que celles provenant de $_POST je pense que l'erreur peut venir de là. |
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Inscription : janvier 2004 Messages : 228 ![]() |
Effectivement probleme de quote.
La requete SQL envoyée pour l'insert est si je la simplifie Code :
INSERT INTO cdt_agenda ( activite) VALUES ('L'atome') Merci encore à tous |
|
|
00
|
|
|
#4 | ||
|
Membre émérite
![]() |
Essaie avec ma fonction avant d'envoyer ta variable dans la requête
Code :
__________________
Le . est la base de toute bonne concaténation, marre de voir des echo "Mavar1 = $toto et Mavar2 = $titi"; ou pire echo 'Mavar1 = ',$toto,' et Mavar2 = ',$titi; pratiquez plutôt le echo 'Mavar1 = '.$toto.' et Mavar2 = '.$titi; |
||
|
|
00
|
|
|
#5 |
|
Membre régulier
![]() Inscription : janvier 2004 Messages : 228 ![]() |
Merci pour la fonction... elle corrige le probleme.
Il est à noter que cette requete Code :
INSERT INTO cdt_agenda ( activite) VALUES ('L'atome') Pour info, il y at-il un parametrage particulier du serveur pour la gestion des quotes ?? Merci |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() ![]() Inscription : janvier 2004 Messages : 1 238 ![]() |
oui, il y a plusieurs parametrages au niveau de php pour déterminer si le serveur ajoute ou non automatiquement des \ devant les quotes
tout est expliqué ici : http://fr.php.net/Fr/magicquotes
__________________
PHP : Regle n°1 : mysql_query(...), mysql_connect(...) et mysq_select_db(...) doivent EN DEBUG etre suivies de or die(mysql_error()); (mais jamais en production) Regle n°2 : Mieux encore : mysql_query($requete) or die("$requete<br/>".mysql_error()); Regle n°3 : echo '<pre>';var_dump($var);echo '</pre>'; affiche le contenu et le type d'une variable. Publiez vos textes de fantasy et de science-fiction sur http://www.cercledefaeries.com/concours/ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com