begin process at 2012 05 31 06:48:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

probleme apostrophre mysql_real_escape_string


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probleme apostrophre mysql_real_escape_string

lundi 3 janvier 2011 à 14:52:44 | probleme apostrophre mysql_real_escape_string

ju0123456789

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 :
Code PHP :
$Commentaires = trim( nl2br( $_POST['commentaires'] ) );
ConnexionBase( $connect );
$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')";
$res = odbc_exec($connect, $SQL);
echo $SQL;
DeconnexionBase( $connect );


ça bug également quand je mets :
Code PHP :
$Commentaires = mysql_real_escape_string( trim( nl2br( $_POST['commentaires'] ) ) );


SVP aidez-moi :)
Merci d'avance.
Ju'
lundi 3 janvier 2011 à 15:44:10 | Re : probleme apostrophre mysql_real_escape_string

faiblard

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 !
lundi 3 janvier 2011 à 15:54:55 | Re : probleme apostrophre mysql_real_escape_string

ju0123456789

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é
lundi 3 janvier 2011 à 18:58:39 | Re : probleme apostrophre mysql_real_escape_string

faiblard

Réponse acceptée !
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 !
mardi 4 janvier 2011 à 09:10:26 | Re : probleme apostrophre mysql_real_escape_string

ju0123456789

Réponse acceptée !
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é :)

Bonne journée
mardi 4 janvier 2011 à 09:29:29 | Re : probleme apostrophre mysql_real_escape_string

faiblard

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 !
mardi 4 janvier 2011 à 09:31:46 | Re : probleme apostrophre mysql_real_escape_string

faiblard

Réponse acceptée !
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 !
mardi 4 janvier 2011 à 13:10:06 | Re : probleme apostrophre mysql_real_escape_string

ju0123456789

Ha oui pas faut ! :)
J'utilise MySQL


Cette discussion est classée dans : code, mysql, sql, real, commentaires


Répondre à ce message

Sujets en rapport avec ce message

Pb syntax php mysql+systèmes fichiers [ par XFLR6 ] hellodsl pour ce titre un peu bizarre, mais je savais pas quoi mettre d'autre pour qualifier mon problème ...alors voila ;je V vous montrer un bout du commandes sql:ou ca que je les tapes??? [ par peterbud ] b'jour tout le monde,J'utilise easyphp1.7 sous windows.j'ai acheté le bouquin de Philippe Rigaux intitulé"mysql et php",j'ai sondé tous les sites du n liste deroulante dynamique [ par gasougasou ] Bonjour, j'ai créé 1 base de données sur MYSQL comportant les 2 tables suivantes :   code  < changement dynamique liste déroulante [ par gasougasou ] Bonjour, j'ai créé 1 base de données sur MYSQL comportant les 2 tables suivantes :   code  &n Code postal => Ville [ par Bonhomet ] Bonjour à tous, tout d'abord je précise que je débute en php alors d'avance, je m'excuse, si ma quesion peut vous sembler simple mais je tourne en ron Tableau et SQL [ par Anthotill ] Salut à tous !j'essaye sans succès depuis pas mal de temps d'obtenir un tableau avec des informations provenant de mysql, un tableau de ce type :1991e Pb bizarre sur un while [ par Cestmoi ] Bonjour, j'ai un problème que je n'ai pas d'habitude de voir, puisque j'utilise ce bout de code à chaque fois. En effet, ma requete me retourne par ex boucle sql [ par whouu ] salut les amis, j'explique mon souci j'ai une table mysql avec 2 champs un 'nom' un 'code' l'utilisateur peut entré plusieurs fois son nom (illimité) erreur dans un code [ par hero88 ] Bonjour, j'ai une erreur dans le code suivant est qu'il y a quelqu'un qui peut m'aider? $result = @mysql_query('SELECT name, email FROM `users` WHERE Ma varaible ne passe pas.... [ par pasbonte ] Bonjour Grace à phpanonyme, j'ai avancé mais maintenant j'ai un autre problème: ma variable NOM ne passe pas.... voici les deux form: [code=php] <?php


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,421 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales