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

Requêtes MySQL Discussion :

Erreur de quotes


Sujet :

Requêtes MySQL

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 359
    Points : 508
    Points
    508
    Par défaut Erreur de quotes
    Bonjour,

    Je développe une petit application qui a pour pour but de synchroniser une base ACCESS interne avec une base MySQL hébergée sur un serveur externe.
    Je but sur un problème de cotes dans un champs texte.

    J'ai ce texte pas exemple à insérer dans ma base MySQL : MANAGEMENT D'EQUIPE
    Et l'apostrophe me pose problème évidement
    J'ai donc créer une petite procédure pour doubler les cotes mais j'ai toujours une erreur.
    L'erreur suivante a été renvoyée par la base de données <...> :
    Numéro d'erreur = <1064>.
    Message d'erreur :
    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 '' at line 1 Infos SQL :
    INSERT INTO stage (num,titre,dureeJ,dureeH,prix,qual,placesMax,statut,idCategorie,idFormation) VALUES (3854, 'LE MANAGEMENT ET LA GESTION D''EQUIPE', 2, 14, 391, 0, 12, 'PUB', 10, 2166
    J'ai essayé de tripler la cote, de précéder la cote d'un \ (utilisé dans certains langages)... je ne trouve rien qui fonctionne

    Auriez-vous la solution à ce problème svp car je ne trouve pas ?
    Merci d votre aide
    Les solutions les plus simples sont les plus efficaces

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 136
    Points : 38 909
    Points
    38 909
    Billets dans le blog
    9
    Par défaut
    Bonjour,

    Effectivement, l'astuce consiste en principe à doubler la quote, l"'échapper" avec un antislash ou la concaténer en la codant en hexa
    Est-ce que le même insert fonctionne sans l'apostrophe ? Des fois que le problème se situe ailleurs.

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 359
    Points : 508
    Points
    508
    Par défaut
    Merci escartefigue,

    J'ai fait un test avec un texte sans ' et effectivement, j'ai toujours l'erreur mais je comprends encore moins du coup.

    Voilà l'erreur remontée pas le dernier test :
    Erreur Ajout des stages avec sessions Etape 1 : Erreur de l'accès natif MySQL.
    Numéro d'erreur = 22

    L'erreur suivante a été renvoyée par la base de données <37.187.171.69> :
    Numéro d'erreur = <1064>.
    Message d'erreur :
    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 '' at line 1 Infos SQL :
    INSERT INTO stage (num,titre,dureeJ,dureeH,prix,qual,placesMax,statut,idCategorie,idFormation) VALUES (3854, 'TEXTE DE TEST', 2, 14, 391, 0, 12, 'PUB', 10, 2166
    Merci de votre aide ;-)
    Je continue de fouiner
    Les solutions les plus simples sont les plus efficaces

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 136
    Points : 38 909
    Points
    38 909
    Billets dans le blog
    9
    Par défaut
    Bonsoir

    Comme la requête est écrite à la volée, tout sur une seule ligne (pas bien !) on ne voit pas la fin de la liste des valeurs.
    Du coup il faut vérifier que le nombre de valeurs fournies correspond bien au nombre de colonnes insérées.
    Il faut également vérifier que le type est cohérent avec celui de la colonne

    Enfin, essayez d'ajouter un espace après chaque colonne. Remplacez : INSERT INTO stage (num,titre,dureeJ,[...] par INSERT INTO stage (num, titre, dureeJ, [...].

    EDIT : si vous avez bien copié/collé la totalité du message d'erreur, alors on voit qu'il manque la parenthèse fermante de fin

Discussions similaires

  1. postgres-php erreur unterminated quoted
    Par peppena dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 02/05/2006, 16h24

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