Insertion de données
Résolu
isa.dama
Messages postés
30
Date d'inscription
Statut
Membre
Dernière intervention
-
isa.dama Messages postés 30 Date d'inscription Statut Membre Dernière intervention -
isa.dama Messages postés 30 Date d'inscription Statut Membre Dernière intervention -
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>
A voir également:
- Insertion de données
- Fuite données maif - Guide
- Supprimer les données de navigation - Guide
- Touche insertion clavier - Guide
- Insertion sommaire word - Guide
- Insertion filigrane word - Guide
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....
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....
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.
voici la ligne 36 qui permet d'exécuter la requête d'insertion
$result =odbc_do($conn_paye, $sqlp);
Toujours dans la requête INSERT, la première valeur ajoutée est
Avec un point devant le $, alors qu'il n'y en a pas devant toutes les autres valeurs.
Serait-ce une source d'erreur ?
Le problème ne viendrai pas de l'utilisation de odbc_do?
J'ai éssayé avec odbc_exec mais même message d'erreur
(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.