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 :

Message Erreur SQL données form


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 11
    Par défaut Message Erreur SQL données form
    Salut,


    J'ai un formulaire dans lequel j'entre des données. Si je n'utilise pas d'apostrophe, aucun problème. Si j'en mets voici ce que j'obtiens :

    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 'amlmia','L'amlmia','L'amlmia')' at line 1

    Je sais que c'est apparemment un message courant. De plus, je ne m'y retrouve pas trop bien dans les addslashes, mysql_real_escape_string, etc. J'ai pourtant consulté le manuel php.

    Voici ma requête SQL:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $insertalbum ="INSERT INTO album(album_name,old_name,album_dossier) values('$valeur','$valeur','$album_dossier')";
    					mysql_query($insertalbum) or die(mysql_error());

  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
    il faut utiliser mysql_real_escape_string sur chacune des 3 variables que tu utilises.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 11
    Par défaut
    Merci de ta réponse.

    J'ai essayé ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $insertalbum ="INSERT INTO album(album_name,old_name,album_dossier) values(mysql_real_escape_string($valeur),mysql_real_escape_string($valeur),mysql_real_escape_string($album_dossier))";
    					mysql_query($insertalbum) or die(mysql_error());
    Mais j'ai toujours l'erreur suivante :

    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 ''ueie),mysql_real_escape_string(Le L'ueie),mysql_real_escape_string(Le_L'ueie))' at line 1

  4. #4
    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
    C'est une fonction PHP et il faut des guillemets pour encadrer tes chaines :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $insertalbum ="INSERT INTO album(album_name,old_name,album_dossier) values('" . mysql_real_escape_string($valeur) . "','" . mysql_real_escape_string($valeur) . "','" . mysql_real_escape_string($album_dossier) ."')";
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 11
    Par défaut
    Ooops c'est vrai désolé de cet oubli.

    En effet ça fonctionne. Merci beaucoup.

    Si je peux encore abuser de ton temps, j'ai une autre question.

    J'aimerais éviter que l'utilisateur puisse entrer des données avec des caractères spéciaux genre : (-^{ etc. De sorte que ma base de données soit pas pourrie.
    Dois-je m'orienter vers une EREG ou vers un STRTR ? Ou bien est-ce plus facile et mieux à traiter en Javascript ??

    Merci encore.

  6. #6
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    Citation Envoyé par hxjonathan Voir le message
    J'aimerais éviter que l'utilisateur puisse entrer des données avec des caractères spéciaux genre : (-^{ etc.
    ça dépend ce que tu appelles "caractères spéciaux". par exemple un titre d'album avec des parenthèses ne pose pas de problème

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

Discussions similaires

  1. Message erreur SQL Server 2008
    Par laure07 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 01/10/2010, 20h12
  2. Message erreur sql syntax
    Par calitom dans le forum Administration
    Réponses: 2
    Dernier message: 22/11/2006, 10h41
  3. [PL/SQL]message erreur
    Par samdev dans le forum Oracle
    Réponses: 1
    Dernier message: 20/01/2006, 18h24
  4. [Struts] Message d'erreur Validate Action Form
    Par cosmos38240 dans le forum Struts 1
    Réponses: 7
    Dernier message: 26/10/2005, 11h05
  5. Réponses: 1
    Dernier message: 05/10/2005, 11h04

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