Page 1 sur 1

probleme avec load data infile

Posté : 01 juin 2005, 12:40
par logone
Salut,

Je dois recuperer un fichier texte (extension aff mais c'est du texte) sur
un ftp et l'inserer dans ma base mysql
pour ceci j'ai mis le code suivant

Code : Tout sélectionner

LOAD DATA INFILE 'ftp://login:[email protected]/home/repertoire/Perso/texte.aff' INTO TABLE immodatatest FIELDS TERMINATED BY ',' ENCLOSED BY '' LINES TERMINATED BY '\r\n';
Mais j'ai une erreur Parse error: parse error, unexpected T_STRING

Je vois pas du tout ce qui peut fazire ca mon chemin ftp ??

Merci a vous

[/code]

Posté : 01 juin 2005, 16:35
par zeus
Est ce que tu tape ce code directement en PHP ?

l'erreur dit qu'il ne reconnait pas ce que tu lui as donné à interpreter

Posté : 01 juin 2005, 16:42
par logone
heu oui c'est une page que j'appelle et l'erreur m'est retournee a chanque fois je vois pas trop la

Posté : 01 juin 2005, 16:44
par zeus
Je crois que tu n'a pas compris un truc :

LOAD DATA INFILE est une commande SQL !!! Tu ne peut pas écrire
<?php
LOAD DATA INFILE ...
?>
il faut que tu commence à créer une connexion avec la base de données dans laquelle tu veux insérer tes données et te servir de cette connexion pour exécuter ta commande SQL

Posté : 01 juin 2005, 16:50
par logone
ok je comprends mieux

mais comment faire alors pour recuperer ce fichier distant et l'inserer dans ma base ? en PHP c'est faisable ??

Posté : 01 juin 2005, 16:55
par zeus
C'est faisable, mais tu doit quand même créer une connexion à ta bdd.

Puis tu doit parcourir ton fichier ligne par ligne, le mettre en forme, et inserer ligne par ligne !!!!

Mais je te déconseille cette méthode, c'est plus long, plus dangereux !!!!

Renseigne toi sur les méthodes d'interfacage entre MySQL et PHP (tu en auras besoin dans les 2 cas) et execute ta commande LOAD DATA INFILE, c'est ce que je fait d'habitude, que je trouve le plus simple et le plus rapide

Posté : 01 juin 2005, 17:01
par logone
methode d'interfacage entre mysql et php Grrrr!!!
Pardon pour mon ignorance sur le sujet mais je te comprends pas trop.

As tu une methode a m'indique que je pourrais regarde ??

Merci a toi

Posté : 01 juin 2005, 17:05
par zeus
Excuse moi, j'aurais dû dire : "Comment agir sur une BDD MySQL avec PHP"

suis bien ce tuto ==> ICI <==

et tu auras les base

Posté : 01 juin 2005, 17:12
par logone
J'oubliais j'ai un fichier init qui effectue la connection a la base de donnée

Posté : 01 juin 2005, 17:14
par zeus
un fichier init ? init.php ou monFichier.init ?

Posté : 01 juin 2005, 17:19
par logone
un fichier init.php dans lequel je met la connection a la base de donnée
et que j'appelle avec un require()

Posté : 01 juin 2005, 17:21
par zeus
si la connexion avec la base de données est faite, tu peux exécuter ta requete comme ça :
$str_requete = "LOAD DATA INFILE ..."; //C'est ta commande SQL
mysql_query($str_requete);
Comme tu aurais fait un SELECT ou un INSERT

Posté : 01 juin 2005, 17:27
par logone
ha ba voila mon probleme
je pense que ca doit venir de ca

je test ca et te tiens au courant mais je pense que c'est ca

Merci encore

Posté : 01 juin 2005, 17:30
par zeus
Je pourrais surement pas te répondre ce soir mais je serais là demain ...