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 :

[SQLite] Échapper les caractères spéciaux d'une requête ?


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 2
    Par défaut [SQLite] Échapper les caractères spéciaux d'une requête ?
    Bonjour, j'ai un petit problème avec sqlite : je tiens à échapper une requête qui contiendrait des caractères illégaux tels que le point d'exclamation, mais le problème, c'est que si j'utilise sqlite_escape_string, je ne pourrais plus faire de recherches avec la clause LIKE.

    Comment est-ce que je dois procéder ?

  2. #2
    Membre émérite Avatar de haltabush
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    726
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 726
    Par défaut
    Pourquoi?!
    Je ne comprends pas ton problème...

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 2
    Par défaut
    Je crois que j'ai lu la doc PHP un peu trop vite

    string sqlite_escape_string ( string item )

    sqlite_escape_string va ajouter des guillemets dans la chaîne item , pour qu'elle puisse être utilisée correctement dans une requête SQL. Cela inclut notamment le doublement des guillemets simples ( ' ), et la vérification des caractères binaires non sécuritaires, de la chaîne de requête.

    Si item contient le caractère NUL et qu'il commence avec un caractère dont la valeur ordinale est 0x01 , PHP va appliquer un schéma de codage, pour que vous puissiez stocker puis relire correctement ces données.

    Bien que ce codage sécurise l'insertion des données, il va rendre la recherche de texte par simple comparaison, ou en utilisant la clause LIKE , inutilisable dans vos requêtes pour les colonnes qui contiennent ces données binaires. En pratique, cela ne devrait pas être un problème, car votre utilisation de la base devrait faire que vous n'utiliserez pas ces colonnes (en fait, il est mieux de stocker des données binaires dans d'autres systèmes, comme des fichiers).
    C'était une erreur de ma part

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 22/10/2012, 12h08
  2. [ODBC] Déspécifier les caractères spéciaux dans une requette odbc
    Par theanthony33 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 15/01/2009, 10h09
  3. Réponses: 13
    Dernier message: 09/01/2008, 01h32
  4. Réponses: 3
    Dernier message: 04/09/2006, 00h34
  5. [Jsp] Supprimer les caractère spéciaux d'une chaine
    Par PeteMitchell dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 13/05/2004, 11h11

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