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 :

Echappement de chaînes de caractères Insert, Update PHP / Oracle [Fait]


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
    Juin 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2007
    Messages : 3
    Par défaut Echappement de chaînes de caractères Insert, Update PHP / Oracle
    Bonjour j'essaie de faire un Update sur une table (BDD Oracle). La difficulté et que l'un des champs peut contenir tout et n'importe quoi.

    J'étais habitué sour MySQL à utiliser mysql_escape_string() mais il ne semble pas y avoir de fonction comparable pour Oracle.

    J'ai bien essayé d'utiliser mysql_escape_string, mais les échappements réalisés ne sont pas suffisants.

    Auriez-vous connaissance d'une fonction faisant ce genre de traitement? Ou la liste de tous les caractères à échapper (auquel cas je ferais ma fonction de traitement)...?

    Merci par avance!

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Le mieux reste d'utiliser les requetes paramétrées
    soit avec OCI http://fr.php.net/manual/fr/function...nd-by-name.php
    soit avec PDO http://fr.php.net/manual/fr/pdo.prepare.php
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2007
    Messages : 3
    Par défaut Le problème est un peu différent
    Le problème est en fait différent, je ne cherche pas à exécuter ces requètes mais à les générer et les stocker dans un fichier texte. Donc le but est d'avoir un fichier .sql contenant les requêtes et que ces requêtes puissent s'exécuter sans problèmes.

    Je ne sais pas si je suis très clair...

    Mais merci de ta réponse, je ne connaissais pas cette technique qui me servira certainement dans un autre contexte.

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 178
    Par défaut
    PDO propose la méthode quote. En utilisant PDO pour Oracle ça marchera donc .

    J'ai bien noté que vous génériez un fichier batch avec de nombreuses requêtes SQL. Par contre, pour exécuter une requête directement sur la base, utilisez des requêtes préparées (prepared statement) comme recommandé par sabotage. Elles garantissent performance (bonne utilisation du cache des requêtes) et sécurité (impossibilité d'injecter du SQL dans les variables de la requête).

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/10/2011, 12h30
  2. [Oracle] Update php oracle sur bcp de donnée
    Par nathieb dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 25/05/2009, 09h50
  3. Réponses: 6
    Dernier message: 08/08/2006, 09h14
  4. [MySQL] choix en insert et update PHP SQL
    Par guillaumeIOB dans le forum PHP & Base de données
    Réponses: 20
    Dernier message: 04/05/2006, 19h21
  5. Réponses: 7
    Dernier message: 14/12/2005, 09h53

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