Encore apostrophe

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Encore apostrophe

par Victor BRITO » 27 oct. 2008, 13:14

Excusez, mais je débute en PHP !
Tu n'as pas à t'excuser : il faut bien un début à tout. ;)

par Romuald632 » 27 oct. 2008, 13:10

Super !
Excusez, mais je débute en PHP !
Encore merci

par Victor BRITO » 27 oct. 2008, 13:04

Normal, tu as inséré les variables entre guillemets simples : elles ne sont donc pas interprétées. Ôte les guillemets simples comme suit :
$sql = "INSERT INTO webcam(idwebcam,continent,pays,sous_continent,ville,nom_webcam,lien_webcam,stat_visite,nom_critere)  
VALUES('".mysql_real_escape_string('')."','".mysql_real_escape_string($continent)."','".mysql_real_escape_string($pays)."','".mysql_real_escape_string($sous_continent)."','".mysql_real_escape_string($ville)."','".mysql_real_escape_string($nom_webcam)."','".mysql_real_escape_string($lien_webcam)."','".mysql_real_escape_string('')."','".mysql_real_escape_string($nom_critere)."')";

par Romuald632 » 27 oct. 2008, 12:52

Bonjour,
Voici ce que j'ai mis :
$sql = "INSERT INTO webcam(idwebcam,continent,pays,sous_continent,ville,nom_webcam,lien_webcam,stat_visite,nom_critere) 
VALUES('".mysql_real_escape_string('')."','".mysql_real_escape_string('$continent')."','".mysql_real_escape_string('$pays')."','".mysql_real_escape_string('$sous_continent')."','".mysql_real_escape_string('$ville')."','".mysql_real_escape_string('$nom_webcam')."','".mysql_real_escape_string('$lien_webcam')."','".mysql_real_escape_string('')."','".mysql_real_escape_string('$nom_critere')."')";
Et quand je regarde ma BDD, j'ai tjs $...
Merci

par Victor BRITO » 24 oct. 2008, 18:26

désolé je vois pas où mettre ce "mysql_real_escape_string"
Dans le code PHP qui permet de réaliser la requête :
$sql = "INSERT INTO webcam(idwebcam,continent,pays,sous_continent,ville,nom_webcam,lien_webcam,stat_visite,nom_critere) VALUES('".mysql_real_escape_string('')."','".mysql_real_escape_string('Europe')."','".mysql_real_escape_string('France')."','".mysql_real_escape_string('Europe de l\'Ouest')."','".mysql_real_escape_string('hdfsds')."','".mysql_real_escape_string('hs')."','".mysql_real_escape_string('http://')."','".mysql_real_escape_string('')."','".mysql_real_escape_string('Villes')."')";

par Romuald632 » 24 oct. 2008, 17:47

désolé je vois pas où mettre ce "mysql_real_escape_string"

par @rthur » 24 oct. 2008, 17:42

Bonjour,

Avec un éditeur qui et fait la coloration syntaxique, tu verrais tout de suite qu'il y a un problème :
INSERT INTO webcam(idwebcam,continent,pays,sous_continent,ville,nom_webcam,lien_webcam,stat_visite,nom_critere) VALUES('','Europe','France','Europe de l\'Ouest','hdfsds','hs'','http://','','Villes') 
Pour éviter ces problèmes d'apostrophes non-échapées, utilises mysql_real_escape_string sur tous les champs texte de ta requêtes.

Encore apostrophe

par Romuald632 » 24 oct. 2008, 17:33

Rebonjour,
J'ai résolu une partie de mon problème tut à l'heure, mais en avançant dans mon travail, je viens de voir qu'à nouveau un problème d'apostrophe survient lorsque je saisis du texte.
Alors je suppose qu'il s'agit encore d'un caractère échappé...
Voici le message d'erreur :
Erreur SQL !INSERT INTO webcam(idwebcam,continent,pays,sous_continent,ville,nom_webcam,lien_webcam,stat_visite,nom_critere) VALUES('','Europe','France','Europe de l\'Ouest','hdfsds','hs'','http://','','Villes')
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'http://','','Villes')' at line 1
Merci