Insertion de données
Résolu
isa.dama
Messages postés
32
Statut
Membre
-
isa.dama Messages postés 32 Statut Membre -
isa.dama Messages postés 32 Statut Membre -
Bonjour,
Je voulais insérerer le contenu d'un fichier texte dans ma base de données.
Le problème est que je recois un message d'erreur àdans la partie de mon code.
L'erreur et la suivante:
( ! ) Warning: odbc_do(): SQL error: [Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe dans l'instruction INSERT INTO., SQL state 37000 in SQLExecDirect in C:\wamp\www\modules-passerelle\traitement_passerelle1.php on line 36
Lorsque j'affiche le résultat de ma requete, celle ci ne présente aucune anomalie. Ci dessous le resultat de ma requete (plusieurs lignes de ce genre).
(INSERT INTO passerelle (Etabl,Matricule,NumAxe,Rubr,CodeAnalytique,ExprP,ExprD,P,PSalarie,PCharges,PGlobal,D,DSalarie,DCharges,R,RSalarie,RCharges,RGain,RPerte,Lib,Editer) VALUES('.1', '0004', '0', '1111', 'FTE-17-1011', '6', ' ', '6.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '6.0', '0.0', ' 0.0', '0.0', '0.0', ' ','0 ')
voici la partie de mon code (c'est la dernière ligne qui est le problème, ligne36).
Aider moi car ça fait maintenant 4 jours que je galère sans solution
<
Je voulais insérerer le contenu d'un fichier texte dans ma base de données.
Le problème est que je recois un message d'erreur àdans la partie de mon code.
L'erreur et la suivante:
( ! ) Warning: odbc_do(): SQL error: [Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe dans l'instruction INSERT INTO., SQL state 37000 in SQLExecDirect in C:\wamp\www\modules-passerelle\traitement_passerelle1.php on line 36
Lorsque j'affiche le résultat de ma requete, celle ci ne présente aucune anomalie. Ci dessous le resultat de ma requete (plusieurs lignes de ce genre).
(INSERT INTO passerelle (Etabl,Matricule,NumAxe,Rubr,CodeAnalytique,ExprP,ExprD,P,PSalarie,PCharges,PGlobal,D,DSalarie,DCharges,R,RSalarie,RCharges,RGain,RPerte,Lib,Editer) VALUES('.1', '0004', '0', '1111', 'FTE-17-1011', '6', ' ', '6.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '6.0', '0.0', ' 0.0', '0.0', '0.0', ' ','0 ')
voici la partie de mon code (c'est la dernière ligne qui est le problème, ligne36).
Aider moi car ça fait maintenant 4 jours que je galère sans solution
<
gras>$fichier = fopen("C:\Thalia\Paye82\TEMP\FORAGESTECHNIC\NbJourPaye.txt", "r");
//tant qu'on est pas a la fin du fichier :
while (!feof($fichier))
{
// On recupere toute la ligne
$uneLigne = fgets($fichier, 1024);
//On met dans un tableau les differentes valeurs trouvés (ici séparées par un ';')
$tableauValeurs = explode(';', $uneLigne);
$conn_paye=odbc_connect('ODBC_PayeFORAGESTECHNIC','','') or die ("Erreur de connexion à la base paye ");
// On crée la requete pour inserer les donner (ici il y a 12 champs donc de [0] a [11])
$sqlp="(INSERT INTO passerelle (Etabl,Matricule,NumAxe,Rubr,CodeAnalytique,ExprP,ExprD,P,PSalarie,PCharges,PGlobal,D,DSalarie,DCharges,R,RSalarie,RCharges,RGain,RPerte,Lib,Editer) VALUES('.$tableauValeurs[0]', '$tableauValeurs[1]', '$tableauValeurs[2]', '$tableauValeurs[3]', '$tableauValeurs[4]', '$tableauValeurs[5]', '$tableauValeurs[6]', '$tableauValeurs[7]', '$tableauValeurs[8]', '$tableauValeurs[9]', '$tableauValeurs[10]', '$tableauValeurs[11]', '$tableauValeurs[12]', '$tableauValeurs[13]', '$tableauValeurs[14]', '$tableauValeurs[15]', '$tableauValeurs[16]', '$tableauValeurs[17]', '$tableauValeurs[18]', '$tableauValeurs[19]','$tableauValeurs[20]')";
echo( "<center>".$sqlp."<br>" ) ;
$result =odbc_do($conn_paye, $sqlp);
</gras>
2 réponses
-
Bonjour,
Pas d'erreur dis tu ?
Moi j'ai déjà l'impression que tu as une parenthèse ouvrant en trop au début de ta requête....
-
Bonsoir
oui effectivement vous avez raison
en faisant cette correction, un autre message s'affiche toujours sur la même ligne 36
Voici le message mais il n'ya a pas plus de détail.
( ! ) Warning: odbc_do(): in C:\wamp\www\modules-passerelle\traitement_passerelle1.php on line 36
voici la ligne 36 qui permet d'exécuter la requête d'insertion
$result =odbc_do($conn_paye, $sqlp); -
-
merci pour cette remarque mais après cette correction j'ai toujours le même message d'erreur.
( ! ) Warning: odbc_do(): in C:\wamp\www\modules-passerelle\traitement_passerelle1.php on line 36
Le problème ne viendrai pas de l'utilisation de odbc_do?
J'ai éssayé avec odbc_exec mais même message d'erreur -
lorsque j'affiche ma requete elle me donne ça
(INSERT INTO passerelle VALUES('1','0004','0','1111','FTE-17-1011','6',' ','6.0','0.0','0.0','0.0','0.0','0.0','0.0','6.0','0.0',' 0.0','0.0','0.0',' ','0 '))
(INSERT INTO passerelle VALUES('1','0004','0','1111','FTE-18-1003','1',' ','1.0','0.0','0.0','0.0','0.0','0.0','0.0','1.0','0.0',' 0.0','0.0','0.0',' ','0 '))
(INSERT INTO passerelle VALUES('1','0002','0','1111','FTE-18-1005','5',' ','5.0','0.0','0.0','0.0','0.0','0.0','0.0','5.0','0.0',' 0.0','0.0','0.0',' ','0 '))
(INSERT INTO passerelle VALUES('1','0003','0','1111','FTE-18-1005','7',' ','7.0','0.0','0.0','0.0','0.0','0.0','0.0','7.0','0.0',' 0.0','0.0','0.0',' ','0 '))
(INSERT INTO passerelle VALUES('1','0004','0','1111','FTE-18-1005','6',' ','6.0','0.0','0.0','0.0','0.0','0.0','0.0','6.0','0.0',' 0.0','0.0','0.0',' ','0 '))
(INSERT INTO passerelle VALUES('1','0003','0','1111','FTE-18-1007','7',' ','7.0','0.0','0.0','0.0','0.0','0.0','0.0','7.0','0.0',' 0.0','0.0','0.0',' ','0 '))
(INSERT INTO passerelle VALUES('1','0002','0','1111','FTE-18-1008','13',' ','13.0','0.0','0.0','0.0','0.0','0.0','0.0','13.0','0.0',' 0.0','0.0','0.0',' ','0 '))
(INSERT INTO passerelle VALUES('1','0003','0','1111','FTE-18-1008','13',' ','13.0','0.0','0.0','0.0','0.0','0.0','0.0','13.0','0.0',' 0.0','0.0','0.0',' ','0 '))
(INSERT INTO passerelle VALUES('1','0004','0','1111','FTE-18-1008','12',' ','12.0','0.0','0.0','0.0','0.0','0.0','0.0','12.0','0.0',' 0.0','0.0','0.0',' ','0 '))
(INSERT INTO passerelle VALUES('1','0004','0','1111','FTE-18-1010','1',' ','1.0','0.0','0.0','0.0','0.0','0.0','0.0','1.0','0.0',' 0.0','0.0','0.0',' ','0 '))
(INSERT INTO passerelle VALUES('1','0002','0','1111','FTE-18-1018','7',' ','7.0','0.0','0.0','0.0','0.0','0.0','0.0','7.0','0.0',' 0.0','0.0','0.0',' ','0'))
le problème c'est l'insertion car si j'éssais de le faire manuellement dans access cela fonctionne. Je pense que le problème vient de la fonction d'insertion. -
-
-
Mon probl-me est réglé.
En fait il ny avait une ligne vide à lafin du fichier que j'essayais d'importer.
Cela posait problème.
En plus le symbole du decimal devait être une virgule au lieu d'un point.
Encore merci à tous