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 SQL Discussion :

Insert et caractères spéciaux


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 8
    Par défaut Insert et caractères spéciaux
    Bonjour à tous,


    Voici l'insert incriminé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO export_idg_ste 
    VALUES(82444,'SETEC TELECOM','','TOUR GAMMA D','58 QUAI DE LA RAPEE','','75012','PARIS','','','','-200','','','','','CONSETRE D OUVROJEDUSTRIELS','','','','','','','','','','','','0','0','0','0','CIO','75','IDF','0','Setec assure la totalité des prestations couvrant la vie d\'un projet, depuis les études de faisabilité jusqu\'à la mise en service. Pour les projets importants et complexes, une équipe pluri-disciplinaire regroupant les compétences des meilleurs spécialistes dans chaque domaine au sein du Groupe est constituée sous l\'autorité d\'un chef de projet. La diversité des missions réalisées (conseil, audit, assistance opérationnelle, OPC,…) et la pluralité des secteurs d\'intervention (infrastructures routières et ferroviaires, bâtiments publics et industriels, aéronautique, spatial, défense, automobile, nucléaire, informatique, …) nous ont permis de développer une expertise unique qui contribue à la réussite des projets de nos clients, qu\'ils soient maîtres d\'œuvre ou maîtres d\'ouvrage, publics ou privés.','0','','','','','','','','','','','','','','','','','','','','','','')
    Vous pouvez voir qu'un des champs est une saisie texte utilisateur avec des caractères super sympa tel que les " ' " ou encore les " ( ", et meme le mot "unique"...
    Mon probleme : ces caracteres sont interpretés...et génèrent une erreur. pas de probleme pour les simples quotes, je fais en php un addslashes et hopla, mais pour le mot "unique", là je sèche...

    MySql me retourne ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     INSERT INTO export_idg_ste
    VALUES ( 82444, 'SETEC TELECOM', '', 'TOUR GAMMA D', '58 QUAI DE LA RAPEE', '', '75012', 'PARIS', '', '', '', '-200', '', '', '', '', 'CONSEIL ET EXPERTISE MAITRE D OUVRAGE PROJETS INDUSTRIELS', '', '', '', '', '', '', '', '', '', '', '', '0', '0', '0', '0', 'CIO', '75', 'IDF', '0', 'Setec assure la totalité des prestations couvrant la vie d\'un projet, depuis les études de faisabilité jusqu \ 'à la mise en service. Pour les projets importants et complexes, une équipe pluri-disciplinaire regroupant les compétences des meilleurs spécialistes dans chaque domaine au sein du Groupe est constituée sous l\'autorité d \ 'un chef de projet. La diversité des missions réalisées (conseil, audit, assistance opérationnelle, OPC,…) et la pluralité des secteurs d\'intervention(
    infrastructures routières et ferroviaires, bâtiments publics et industriels, aéronautique, spatial, défense, automobile, nucléaire, informatique, …
    )nous ont permis de développer une expertise
    UNIQUE qui contribue à la réussite des projets de nos clients, qu \ 'ils soient maîtres d\'œuvre ou maîtres d \ 'ouvrage, publics ou privés.', '0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ) 
     
     
     
    #1136 - Column count doesn't match value count at row 1
    N'y aurait il pas une fonction php pour dire a mysql qu'il n'interprete pas cette partie de la requete ????
    Merci d'avance pour vos reponses.

  2. #2
    Membre expérimenté
    Avatar de SoBaKa
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 242
    Par défaut
    pour les simple quote il faut le doubler :


  3. #3
    Membre éclairé Avatar de medtun.net
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 57
    Par défaut
    Bonjour,
    je sais pas si ça marche dans ton cas ou pas, mais essaye de mettre tout ton texte entre crochets : [textetexte....unique....texte......]

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 8
    Par défaut
    ok je teste tout ça

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 8
    Par défaut
    Non, ca ne marche pas...puis pour le doublage des apostrophes, je mets des " \" devant, donc normalement, ca doit passer...d'autres idées ?

  6. #6
    Membre éclairé Avatar de medtun.net
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 57
    Par défaut
    Citation Envoyé par eulstef Voir le message
    Bonjour à tous,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    #1136 - Column count doesn't match value count at row 1
    Attention l'erreur n'est pas éclenché suite aux '' et au mot clé "unique" mais suite au fait que le nombre de champs de ta table et le nombre de valeurs que tu veux insérér ne se correspondent pas!!
    en plus évite de mettre un espace entre \ et '.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 8
    Par défaut
    Bon, c'est bon j'ai trouvé d'ou venait le problème

    Ca venait de cette ligne là en fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while (($data = fgetcsv($handle, 1000, ";")) !== FALSE)
    que j'ai modifié en

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while (($data = fgetcsv($handle, 10000, ";")) !== FALSE)
    C'était donc au niveau de la limitation du nombre de caracteres par ligne de csv que ca pechait. Voila, en tout ca, merci pour vos réponses !!!!

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

Discussions similaires

  1. [PostgreSQL] Gestion de l'insertion de caractères spéciaux
    Par yo_haha dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 20/08/2015, 17h58
  2. Réponses: 7
    Dernier message: 24/05/2011, 18h45
  3. Réponses: 7
    Dernier message: 13/05/2009, 14h15
  4. Réponses: 4
    Dernier message: 09/10/2006, 17h19
  5. [SQL2]Insertion de caractères spéciaux
    Par willowII dans le forum Langage SQL
    Réponses: 4
    Dernier message: 26/10/2004, 16h33

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