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

Langage PHP Discussion :

Enregistrer du texte avec des '


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 32
    Par défaut Enregistrer du texte avec des '
    Bonjour, je fais mes premiers pas dans le php et je crée un formulaire de saisie avec sauvegarde d'une zone de texte en base.
    Tout marche tres bien sauf quand le texte comporte des ' (des apostrophes quoi), le serveur l'interprête comme la fin de la chaine de texte, et plande bien sûr en interprétant la suite...
    Comment transformer une requête d'insertion comportant une une zone de texte avec potentiellement des apostrophes en requête insérable ?
    exemple comment faire pour transformer
    "update toto set titi = 'tentative d'insertion'" en requête qui fonctionne ?
    (Sous oracle on transforme les ' en '' pour les neutraliser mais en Mysql ? est-ce pareil ? Si oui existe-t-il une fonction qui le fasse ?)
    Merci !

  2. #2
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    Citation Envoyé par Lamy D Voir le message
    (Sous oracle on transforme les ' en '' pour les neutraliser mais en Mysql ? est-ce pareil ? Si oui existe-t-il une fonction qui le fasse ?)
    Merci !
    C'est idem !
    Sinon tu peux utiliser mysql_real_escape_string()
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  3. #3
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 330
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 330
    Billets dans le blog
    17
    Par défaut
    Il existe la fonction mysql_real_escape_string( ).
    Attention, selon la config de PHP selon peut-être effectué +/- automatiquement ( ), regarde du côté des "magic-quotes".

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 32
    Par défaut
    Merci, je vais regarder ça mais je pige pas trop à priori ...
    Je pensais utiliser str_replace("'","''",$texte) pour remplacer chaque ' par '' ...
    Mais à l'éxecution ça ne marche pas : $texte est inchangé avant et après la fonction ...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 32
    Par défaut
    Curieux : ta fonction ne donne rien de mieux ...
    Mon code :
    var_dump($message);
    // str_replace "'", "''",$message);
    mysql_real_escape_string($message);
    var_dump($message);
    PS : je suis en "local" avec un serveur easy-php ...

  6. #6
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 330
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 330
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par Lamy D Voir le message
    Curieux : ta fonction ne donne rien de mieux ...
    Mon code :
    var_dump($message);
    // str_replace "'", "''",$message);
    mysql_real_escape_string($message);
    var_dump($message);
    PS : je suis en "local" avec un serveur easy-php ...
    Il faut faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $message = mysql_real_escape_string($message);

Discussions similaires

  1. Import fichier texte avec des champs variables
    Par joshua12 dans le forum Access
    Réponses: 4
    Dernier message: 26/09/2006, 09h06
  2. Enregistrer un texte avec sa mise en forme
    Par Chris33 dans le forum Général Python
    Réponses: 12
    Dernier message: 20/09/2006, 09h18
  3. [JSTL 1.0.6] affichage d'un texte avec des retour chariots
    Par clettebou dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 09/08/2006, 10h16
  4. Ecrire du texte avec des coordonnées 3D
    Par julian_ross dans le forum DirectX
    Réponses: 3
    Dernier message: 21/06/2005, 15h05
  5. [Javascript] Afficher du texte avec des intervalles
    Par Invité4 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 02/01/2005, 21h29

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