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 :

Champ 'Référence intervention' inconnu dans field list [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Cyberdocumentaliste
    Inscrit en
    Janvier 2014
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

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

    Informations forums :
    Inscription : Janvier 2014
    Messages : 160
    Par défaut Champ 'Référence intervention' inconnu dans field list
    Bonjour à tous,

    J'ai un problème qui me rend fou, j'ai le même code la même version wampserver et le même navigateur.
    Sur le poste 1 le code marche très bien.
    Sur le deuxième poste j'ai ce problème là lors de l'insertion !

    Création table depuis CSV :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $sql = "CREATE TABLE ".$typexp." (";
    								 for($c=0;$c<count($liste1);$c++)
    									 {						
    										if ($c==count($liste1)-1) 
    											{ 
    												$sql.="`".$liste1[$c]."` VARCHAR(30) NOT NULL"; 
    											}
    										else { $sql.="`".$liste1[$c]."` VARCHAR(30) NOT NULL,";}
    									 }
    										$sql.=")";
    Insertion dans la table créé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    $Insert ="INSERT INTO `".$typexp."`(";
     
    						for($c=0;$c<count($liste1);$c++)
    							 {		
    								if ($c==count($liste1)-1) 
    									{ 
    										$Insert.="`".htmlentities($liste1[$c],ENT_NOQUOTES,'iso-8859-1')."`"; 
    									}
    								else
    									{ 
    										$Insert.="`".htmlentities($liste1[$c],ENT_NOQUOTES,'iso-8859-1')."`,";
    									}
    						 	}
     
    							$Insert.=") VALUES (";
     
    						for($c=0;$c<count($liste1);$c++)
    						 	{		
    								if ($c==count($liste1)-1) 
    								{ 
    									$Insert.="'". mysqli_real_escape_string($conn,$liste[$c])."'"; 
    								}
    								else
    								{ 
    									$Insert.="'".mysqli_real_escape_string($conn,$liste[$c])."',";
    								}
    						 	}
     
    							$Insert.=")";
    					}
    Alors dans la première boucle FOR je récupère les champs d'un fichier csv après création de la table (Création de table s'effectue correctement) et la deuxième ceux sont les valeurs insérées.

    Sur mon poste bureau l’Insertion se fait parfaitement et sur mon pc portable ça donne l'erreur Champ 'Référence intervention' inconnu dans field list.

    J'ai essayé de changé le "`" avec " ' " erreur d'accents s'affiche.
    sans "`" erreur de syntaxe.

  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
    Pourquoi tu mets des htmlentities() dans une requête ? Ca n'a rien à faire là, surtout pour des noms de colonne.
    D'ailleurs dans ta requête de création tu ne les as pas mis alors pour les mettre à l'insertion ?

    Et tu as vraiment une colonne dans ta table qui s'appelle 'Référence intervention' ? avec des accents et un espace ?

    Au passage également, utilise une boucle foreach au lieu de ce vilain for/count
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Homme Profil pro
    Cyberdocumentaliste
    Inscrit en
    Janvier 2014
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

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

    Informations forums :
    Inscription : Janvier 2014
    Messages : 160
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Pourquoi tu mets des htmlentities() dans une requête ? Ca n'a rien à faire là, surtout pour des noms de colonne.
    D'ailleurs dans ta requête de création tu ne les as pas mis alors pour les mettre à l'insertion ?

    Et tu as vraiment une colonne dans ta table qui s'appelle 'Référence intervention' ? avec des accents et un espace ?

    Au passage également, utilise une boucle foreach au lieu de ce vilain for/count
    Bonjour,

    J'ai enlevé les htmlentites et ça marche maintenant, Mercii .

    Normalement je les ai mis pour éviter le problème des accents.

    Oui ça existe dans ma table, car c'est un nom de colonne sur le fichier csv.
    Je dois comprendre que c'est anormal d'avoir un champ BD avec des accents et espace ?

    Je sais pas comment l'utiliser si tu peux me renseigner !

    --

    L'idée en général c'est que j'aurai des données avec espace, accents, virgule et bien d'autre caractères spéciaux, comment peux-je éviter les erreurs durant mes traitements ?
    Dejà l'affichage des accents dans la page me donne des "??", j'ai mis set names utf8 et header('Content-type: text/html; charset=utf-8');
    et ça donne le même problème !

  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
    Ce n'est pas interdit mais ce n'est pas recommandé : c'est source au moins de confusions au pire de problèmes.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé
    Homme Profil pro
    Cyberdocumentaliste
    Inscrit en
    Janvier 2014
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

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

    Informations forums :
    Inscription : Janvier 2014
    Messages : 160
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Ce n'est pas interdit mais ce n'est pas recommandé : c'est source au moins de confusions au pire de problèmes.
    Et tu suggères quoi comme alternative ?

    Aussi peux-tu me répondre à ça :

    - L'idée en général c'est que j'aurai des données avec espace, accents, virgule et bien d'autre caractères spéciaux, comment peux-je éviter les erreurs durant mes traitements ?

    - Dejà l'affichage des accents dans la page me donne des "??", j'ai mis set names utf8 et header('Content-type: text/html; charset=utf-8');
    et ça donne le même problème !

  6. #6
    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
    Les données peuvent contenir ce que tu veux.
    Mais dans la structure de la base de données (et donc les en-tête des fichiers CSV) devraient plutôt être neutres. Enfin c'est seulement une recommandation, ce n'est pas obligatoire.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 15/12/2016, 11h01
  2. Champ 'entreprise.nom' inconnu dans field list
    Par _medi dans le forum Requêtes
    Réponses: 2
    Dernier message: 26/03/2008, 20h52
  3. [SQL] Champ inconnu dans field list
    Par ludo2612 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 22/01/2008, 21h58
  4. [MySQL] Champ 'NbPoints' inconnu dans field list
    Par ouiffi dans le forum Langage SQL
    Réponses: 7
    Dernier message: 03/07/2006, 08h03
  5. [MySQL] Champ inconnu dans field list
    Par student007 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 26/02/2006, 18h09

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