IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Syntaxe erreur apres avoir mis un quote ' [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Inscrit en
    Juin 2010
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 112
    Points : 60
    Points
    60
    Par défaut Syntaxe erreur apres avoir mis un quote '
    bonjour tout le monde , sur mon script , l'adresse d'un certain forum est la suivante /index.php?mode=f&f=235
    par exemple .
    Le probleme se produit quand je mets un quote apres 235
    (index.php?mode=f&f=235')
    ça m'imprime une erreur :
    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 ''235''' at line 1

    Y'a t-il une precaution à prendre dans les requetes SQL ou genre ?

  2. #2
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 563
    Points : 2 390
    Points
    2 390
    Par défaut
    Problème d'injection SQL. C'est une faille de sécurité relativement critique.

    Dans une requête SQL, il faut toujours protéger les valeurs issue de variables par les fonctions échappement.

    Si tu utilises les fonctions MySQL par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("SELECT * FROM table WHERE champ='".mysql_real_escape_string($var)."'");
    Une autre alternative, par exemple si tu es sûr que ta variable doit contenir un nombre entier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("SELECT * FROM table WHERE champ='".intval($var)."'");
    Tu as aussi floatval(), etc...

    Qu'est ce que une injection SQL : http://securite.developpez.com/faq/?..._sql_injection
    Zend Certified PHP Engineer

    « Crois-tu comprendre le monde juste en matant le 20H Ou connaître l'histoire en ayant lu que l'angle des vainqueurs ? » Keny Arkana

  3. #3
    Membre du Club
    Inscrit en
    Juin 2010
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 112
    Points : 60
    Points
    60
    Par défaut
    Oui j'utilise les fonction Mysql
    je vais essayer mon ami et je vais vous rendre compte

  4. #4
    Membre du Club
    Inscrit en
    Juin 2010
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 112
    Points : 60
    Points
    60
    Par défaut
    Si je veux considerer le 235' (avec le quote ) comme une valeur
    comme ça ça imprimera que le forum est introuvable et non pas l'erreur

    comment dois je faire ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/02/2012, 19h32
  2. Continuer un traitement après avoir relevé une erreur
    Par Naruto_kun dans le forum PL/SQL
    Réponses: 1
    Dernier message: 20/01/2010, 14h08
  3. Réponses: 6
    Dernier message: 22/01/2008, 21h06
  4. Erreur aprés avoir lancé eclipse
    Par JavaAcro dans le forum Debian
    Réponses: 4
    Dernier message: 27/11/2006, 22h59
  5. Help - plein de messages d'erreur après avoir installé Free
    Par fute dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 18/12/2005, 14h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo