Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/05/2011, 09h06   #1
Invité de passage
 
Homme
Inscription : mai 2011
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Algérie

Informations forums :
Inscription : mai 2011
Messages : 2
Points : 2
Points : 2
Par défaut PHP/MYSQL - Erreur de syntaxe près de '')' à la ligne 2

Bonjour à tous et à toutes en vous souhaitant une merveilleuse journée,

Je suis au courant que cette question a été posée mainte fois, mais aucune des réponses que j'ai trouvé ne m'a donnée satisfaction jusqu'à présent.

Mon problème réside dans l'envoi de requête à la BD à l'aide de la fonction INSERT INTO. Voici par exemple le code de ma requête sur la page Livre d'or :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
	          <?php  
			  if(isset($_POST["submit"])){
  $link = mysql_connect( "localhost", "root", "" ) ;
   $db  = mysql_select_db( "mabase" ) ;
 
 
  $nom = $_POST["nom"] ;
  $email = $_POST["email"] ;
  $commentaire = $_POST["comment"] ;
 
 
   $sql = "INSERT INTO `livreor` (Nom_com,Email_com,Commentaire)
            VALUES ('$nom','$email','$commentaire')"; 
 
  $requete = mysql_query($sql, $link) or die( mysql_error() ) ;
  if($requete)
  {
    echo("<script language='JavaScript'>
alert('Merci pour votre commentaire !');
</script>") ;
  }
  else
  {
    echo("<script language='JavaScript'>
alert('Désolé, votre commentaire n'a pas pu être envoyé.');
</script>") ;
  }
}
?>
Les enregistrements s'insèrent normalement dans la base de données, mais mon problème est le suivant :

Dés qu'un champ rempli continent le caractère ' j'obtiens cette erreur : Erreur de syntaxe près de '...')' à la ligne 2

Par exemple si je venais de taper dans mon commentaire le message suivant: J aime le PHP, le message est parfaitement envoyé.

Mais si je venais à écrire, par exemple, le message suivant : J'aime le PHP, j'obtient l'erreur suivante : Erreur de syntaxe près de 'aime le PHP')' à la ligne 2

Merci.
Bobio569 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 09h10   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
On ne place pas directement des données utilisateur dans une requête :

Code :
 $commentaire = mysql_real_escape_string($_POST["comment"]);
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 30
Vieux 05/05/2011, 14h31   #3
Membre expérimenté
 
Avatar de doudouallemand
 
Inscription : août 2005
Messages : 1 108
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : août 2005
Messages : 1 108
Points : 597
Points : 597
Citation:
Envoyé par sabotage Voir le message
On ne place pas directement des données utilisateur dans une requête :

Code :
 $commentaire = mysql_real_escape_string($_POST["comment"]);
Je te conseille de le faire aussi sur le nom, y'a des gens qui ont des apostrophes dedans...
__________________
développeur en folie cherche à ... développer encore plus
doudouallemand est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 05/05/2011, 15h09   #4
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Ma ligne était un exemple, il faut évidemment sécuriser toutes les données.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 05/05/2011, 16h16   #5
Membre expérimenté
 
Avatar de doudouallemand
 
Inscription : août 2005
Messages : 1 108
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : août 2005
Messages : 1 108
Points : 597
Points : 597
Citation:
Envoyé par sabotage Voir le message
Ma ligne était un exemple, il faut évidemment sécuriser toutes les données.
ok, dsl, mais vu qu'il arrive sur le forum, s'il est débutant, j'ai préféré le préciser quand même
__________________
développeur en folie cherche à ... développer encore plus
doudouallemand est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 05/05/2011, 19h22   #6
Invité de passage
 
Homme
Inscription : mai 2011
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Algérie

Informations forums :
Inscription : mai 2011
Messages : 2
Points : 2
Points : 2
Un grand merci à vous deux, ça marche parfaitement maintenant

Encore un très grand merci
Bobio569 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h55.


 
 
 
 
Partenaires

Hébergement Web