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 :

Problème d'apostrophes dans insertion sql [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier Avatar de 12_darte_12
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Transports

    Informations forums :
    Inscription : Février 2005
    Messages : 212
    Points : 107
    Points
    107
    Par défaut Problème d'apostrophes dans insertion sql
    Bonjour,

    J'ai un formulaire avec un champ text sur plusieur pour insérer des commentaire dans una table mysql. Le problème est que dès que je rente uen apostrophe dedans cela me met une erreur, car il interompt mon requet a l'endroit de cet apostrophe.
    12_darte_12

  2. #2
    Membre averti Avatar de XtofRoland
    Profil pro
    Inscrit en
    Août 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 357
    Points : 392
    Points
    392
    Par défaut
    il faut doubler les apostrophes
    mysql_escape_real_string +
    Le but de tout developpeur OO est de devenir une référence.
    Mon avatar est un ambigramme, les curieux peuvent le retourner ;-)
    Aider <> Faire a la place de!!!

  3. #3
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    le mieux est d'utiliser la fonction escape string de ta base

    mysql_escape_string ou mysql_escape_real_string pour mysql
    pg_escape_string pour postgresql etc.

    en théorie il faut les doubler
    mais tous les moteurs de base ne suivent pas à la lettre les stds alors le mieux est d'utiliser les fonctions qui leur sont associés.

    A+JYT

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 91
    Points : 71
    Points
    71
    Par défaut
    Et pourquoi ne pas utiliser aussi : addslashes($ta_chaine);

  5. #5
    Membre éprouvé Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Points : 1 009
    Points
    1 009
    Par défaut
    Citation Envoyé par mathieu77186
    Et pourquoi ne pas utiliser aussi : addslashes($ta_chaine);
    Parce que.
    Consultant idéaliste.

  6. #6
    Membre régulier Avatar de 12_darte_12
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Transports

    Informations forums :
    Inscription : Février 2005
    Messages : 212
    Points : 107
    Points
    107
    Par défaut
    Merci à tous
    12_darte_12

  7. #7
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Citation Envoyé par mathieu77186
    Et pourquoi ne pas utiliser aussi : addslashes($ta_chaine);
    parce que tu stoque alors des \ involontaire dans ta base

    A+JYT

  8. #8
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Citation Envoyé par mathieu77186
    Et pourquoi ne pas utiliser aussi : addslashes($ta_chaine);
    pour rester conforme avec ton moteur de base de donnée.
    le addslashes est conçu pour l'interprète php
    tu n'as aucune garantie que les caractères qui pose problème à php sont les même que ceux qui gêne la syntaxe SQL de ton moteur de base de données.

    si je prends postgresql
    INSERT INTO .... 'on aime l'histoire.';
    doit s'écrire pour être conforme
    INSERT INTO .... 'on aime l''histoire.';
    je ne sais pas comment fait MySQL mais ce doit être la même chose.
    addslashes lui te fait
    INSERT INTO .... 'on aime l\'histoire.';

    bref mieux vaut faire confiance au moteur il est le plus à même de définir la bonne syntaxe.
    A+JYT

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

Discussions similaires

  1. Problème avec les apostrophes dans le sql en VBA
    Par cyrilboulan dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 14/03/2017, 10h11
  2. Problème d'apostrophe dans SQL
    Par le_misterioso dans le forum JDBC
    Réponses: 5
    Dernier message: 21/08/2010, 13h59
  3. problème d'apostrophe dans insert!
    Par alicia26 dans le forum ASP.NET
    Réponses: 15
    Dernier message: 03/10/2008, 16h50
  4. problème d'apostrophe dans sql
    Par Mart10eke dans le forum Langage SQL
    Réponses: 5
    Dernier message: 04/01/2008, 09h01
  5. problème d'apostrophe dans mes requetes
    Par kirian dans le forum Bases de données
    Réponses: 3
    Dernier message: 03/05/2006, 12h06

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