payetonju
Messages postés436Date d'inscriptionmercredi 26 septembre 2007StatutMembreDernière intervention 2 juillet 2014
-
3 janv. 2011 à 14:52
payetonju
Messages postés436Date d'inscriptionmercredi 26 septembre 2007StatutMembreDernière intervention 2 juillet 2014
-
4 janv. 2011 à 13:10
Bonjour,
J'ai un formulaire de contact en PHP, qui enregistre dont le commentaire de l'utilisateur. Or la requete SQL foire quand on y ajoute des apostrophes. Au niveau de l' "INSERT INTO" j'ai fait un mysql_real_escape_string, qui d'habitude marche, sauf là, évidemment ! (je travaille avec les pilotes ODBC)
Voici mon code :
faiblard
Messages postés337Date d'inscriptionsamedi 3 février 2007StatutMembreDernière intervention 4 janvier 2011 3 janv. 2011 à 18:58
Je dirais que c'est ta colonne date !
Date est un mot réservé... Renomme ta colonne (dateCommentaire? dateNaissance?)
Sinon tu fais
$SQL = "INSERT INTO formail(societe,nom,prenom,telephone,email,commentaires,`date`,civilite,secteur,fonction,adresse,ville,codepostal,fax,lu) values ";
$SQL.= "('".$Societe."','".$Nom."','".$Prenom."','".$Tel."','".$Email."','".$Commentaires."','".$Date."','','','','','','','','0')";
(avec des apostrophe renversé autour de date, ca peut marcher suivant le SGBD....)
La meilleur solutions restant de ne pas nommer t'es champs avec des mots réservé par SQL...
-------------------------------------------------------------------
La recherche est ton amie ! Promis elle ne te mordra pas...
Enjoy
N'oubliez pas d'accepter pour aidez les autres quand ils cherchent !
payetonju
Messages postés436Date d'inscriptionmercredi 26 septembre 2007StatutMembreDernière intervention 2 juillet 20144 4 janv. 2011 à 09:10
Bonjour et merci, non ce n'est pas ça le soucis apparemment.
Mais dans la requete, a la palce de mysql_real_escape_string( $Commentaire ) j'ai fait str_replace("'","''",$Commentaire) et ça fonctionne. Je ne sais pas trop pourquoi l'une fonctionne et pas l'autre mais bon...
Au moins mon soucis est reglé. Il ne me reste juste à comprendre pourquoi.
Merci, au moins j'ai appris un truc, je ne savais pas que DATE était un mot réservé :)
faiblard
Messages postés337Date d'inscriptionsamedi 3 février 2007StatutMembreDernière intervention 4 janvier 2011 4 janv. 2011 à 09:31
Je te conseillerai d'utiliser la fonction addslashes plutôt que ton str_replace()
-------------------------------------------------------------------
La recherche est ton amie ! Promis elle ne te mordra pas...
Enjoy
N'oubliez pas d'accepter pour aidez les autres quand ils cherchent !
faiblard
Messages postés337Date d'inscriptionsamedi 3 février 2007StatutMembreDernière intervention 4 janvier 2011 3 janv. 2011 à 15:44
Bonjour,
Si tu mettais l'erreur affichée (php ou sql) cela te permettrais sûrement une réponse plus rapide.
-------------------------------------------------------------------
La recherche est ton amie ! Promis elle ne te mordra pas...
Enjoy
N'oubliez pas d'accepter pour aidez les autres quand ils cherchent !
Vous n’avez pas trouvé la réponse que vous recherchez ?
payetonju
Messages postés436Date d'inscriptionmercredi 26 septembre 2007StatutMembreDernière intervention 2 juillet 20144 3 janv. 2011 à 15:54
Bonjour, oui pardon :
Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][ODBC SQL Server Driver][SQL Server]Syntaxe incorrecte vers 'erff'., SQL state 37000 in SQLExecDirect in C:\Programmes\wampserver2.0c\www\html\contact.php on line 52
voici mon erreur
"erff" est la partie de mon test apres l'apostrophe que j'ai mise dans le commentaire envoyé
faiblard
Messages postés337Date d'inscriptionsamedi 3 février 2007StatutMembreDernière intervention 4 janvier 2011 4 janv. 2011 à 09:29
Bonjour,
Quel est ton SGBD? (acces, msSql? mysql?)
-------------------------------------------------------------------
La recherche est ton amie ! Promis elle ne te mordra pas...
Enjoy
N'oubliez pas d'accepter pour aidez les autres quand ils cherchent !