Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/09/2011, 15h46   #1
Membre à l'essai
 
Inscription : janvier 2006
Messages : 120
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 120
Points : 24
Points : 24
Par défaut Errcode: 2 : Problème avec Load data local infile

Bonjour à tous,

J'ai un problème avec mon script php qui marche de façon normal en local sur mon poste mais qui me renvoi une erreur lorsque j'ai mon fichier .php sur le serveur.

En fait, à partir de la page php, je fais un load data infile dans ma table export.
Lorsque j'effectue cette opération sur le serveur j'ai une erreur SQL :

Erreur SQL !LOAD DATA LOCAL INFILE 'C:/Documents and Settings/Jarod51/Bureau/inca.csv' INTO TABLE export FIELDS TERMINATED BY '|' ENCLOSED BY ' '
File 'C:/Documents and Settings/Jarod51/Bureau/inca.csv' not found (Errcode: 2)


Ce que je ne comprends pas c'est que en local ça marche.

Mon script php est le suivant :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
$fichier = $_POST["datafile"];
 
 $slash = "/";
 $antislash = "\\";
 
 $newpath = str_replace($antislash, $slash, $fichier);
 
 
//On importe le fichier dans la base de données en utilisant l'action LOAD DATA INFILE
 
$query = "LOAD DATA LOCAL INFILE '$newpath' 
INTO TABLE export
FIELDS TERMINATED BY '|' 
ENCLOSED BY '\n' ";
 
mysql_query($query) or die('Erreur SQL !'.$query.'<br>'.mysql_error());
Avez vous une idée de quoi ça vient ?
Jarod51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 16h03   #2
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 029
Points : 18 327
Points : 18 327
Envoyer un message via MSN à CinePhil
Est-ce que sur le serveur le fichier inca.csv se trouve bien dans le répertoire C:/Documents and Settings/Jarod51/Bureau/ ?
Et est-ce que Apache peut lire ce répertoire ?
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 16h07   #3
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 661
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 661
Points : 5 388
Points : 5 388
je dirais que tu essayes d'utiliser ton serveur un fichier qui se trouve sur ton poste local. Le serveur n'étant pas doté de la fonctionnalité "boule de cristal", il ne risque pas de le trouver

Sérieusement, je suppose que le champ 'datafile' est un champ texte où tu indiques le chemin d'accès au fichier. Si tu veux que ton serveur ait accès au fichier en question, 2 possibilités :
- le fichier estdéjà sur le serveur. Tu indiques le bon chemin menant à ce fichier dans le serveur.
- tu lui envoies carrément le fichier depuis ton poste via un input file, que tu stockes à un endroit prévu pour ça et tu utilises cette copie sur le serveur comme fichier de chargement.
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 16h18   #4
Membre à l'essai
 
Inscription : janvier 2006
Messages : 120
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 120
Points : 24
Points : 24
Bonjour CinePhil & Celira,

oui effectivement mon fichier .csv est en local sur mon poste. Il faut donc que je m'oriente vers un un input file qui envoie carrément le fichier depuis mon vers le serveur pour que ça marche.

Il faut que je regarde la method des upload vers les serveurs.
Jarod51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 16h24   #5
Modérateur
 
Inscription : septembre 2010
Messages : 7 131
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 131
Points : 8 491
Points : 8 491
t'as PDO ou Mysqli ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 16h29   #6
Membre à l'essai
 
Inscription : janvier 2006
Messages : 120
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 120
Points : 24
Points : 24
salut stealth35,

j'ai Mysqli pas de PDO. Pourrais tu m'en dire plus ?
Jarod51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 16h50   #7
Modérateur
 
Inscription : septembre 2010
Messages : 7 131
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 131
Points : 8 491
Points : 8 491
Citation:
Envoyé par Jarod51 Voir le message
salut stealth35,

j'ai Mysqli pas de PDO. Pourrais tu m'en dire plus ?
si t'as Mysqli tu pourras faire une requête préparée pour insérer rapidement ton csv, (tu peux aussi le faire avec mysql_* mais c'est plus galère)

EDIT : mais le fichier temporaire de l'upload devrai suffir
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 16h54   #8
Membre à l'essai
 
Inscription : janvier 2006
Messages : 120
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 120
Points : 24
Points : 24
Citation:
si t'as Mysqli tu pourras faire une requête préparée pour insérer rapidement ton csv
Est ce que ça veut dire que c'est faisable à partir d'un fichier qui est en local sur mon poste que j'envoie vers un serveur. Ou bien c'est en complément du input file ?

Merci.
Jarod51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 16h55   #9
Modérateur
 
Inscription : septembre 2010
Messages : 7 131
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 131
Points : 8 491
Points : 8 491
Citation:
Envoyé par Jarod51 Voir le message
Est ce que ça veut dire que c'est faisable à partir d'un fichier qui est en local sur mon poste que j'envoie vers un serveur. Ou bien c'est en complément du input file ?

Merci.
en complément, le fichier doit toujours être sur le serveur
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h36.


 
 
 
 
Partenaires

Hébergement Web