Importer des données d'un fichier .txt dans bdd - PHP - Programmation
Marsh Posté le 11-06-2008 à 21:04:40
salut !
t'as juste à lire ton erreur, tout est écrit: "URL file-access is disabled in the server configuration"
tu accedes a ton fichier via une url et non un chemin unix...
ton probleme n'est pas une question de droit mais de méthode d'appel à un fichier
pour le reste tu te compliques bien la vie :
http://fr2.php.net/manual/fr/function.fgetcsv.php
Marsh Posté le 11-06-2008 à 21:17:53
ReplyMarsh Posté le 12-06-2008 à 08:18:09
jc66 a écrit : je peut faire comment alors si je peut pas executer le script sur mon serveur ? |
bien sur que si tu peux l'exécuter ton script. Seulement il faut que le fichier de données soit sur le même serveur, et que tu l'ouvres avec un chemin d'accès local, pas avec son url sur un autre serveur.
Marsh Posté le 12-06-2008 à 08:22:28
il est sur le même serveur
le chemin est le même dossier que le script à la racine.
J'ai mis ce qu'il fallait dans le script
$fichier = fopen("com.txt", "r" );
et maintenant j'ai cette erreur:
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /home/www/cccf2e7a7c56b5ceef6d1ee2001e19aa/web/aa.php on line 22
la ligne 22 c'est ca:
mysql_free_result ($req);
je comprend rien là
Marsh Posté le 12-06-2008 à 08:26:30
bah $req existe pas dans ton script là hein.
Marsh Posté le 12-06-2008 à 12:35:09
donc si je fait en enlevant mysql_free_result ($req);
J'ai une page blanche, et rien dans la bdd
Code :
|
Marsh Posté le 12-06-2008 à 12:43:36
Bonjour,
Une seule requête peut faire l'ensemble, en utilisant 'LOAD DATA INFILE ...' :
http://dev.mysql.com/doc/refman/5.0/fr/load-data.html
Marsh Posté le 12-06-2008 à 12:53:22
c'est à dire que je doit mettre "LOAD DATA INFILE" à la place de "INSERT INTO" ???
Marsh Posté le 12-06-2008 à 12:55:19
non. C'est à dire que tu dois lire la doc de LOAD DATA INFILE pour savoir comment l'utiliser.
Marsh Posté le 12-06-2008 à 13:17:40
je sent que je me noit.
Si je fait comme sur l'exemple que tu me donnes Nazztazz, en adaptant
Code :
|
j'ai ces erreurs:
Warning: mysqli::mysqli() [function.mysqli-mysqli]: (42000/1044): Access denied for user 'meteo'@'localhost' to database '0' in /home/www/cccf2e7a7c56b5ceef6d1ee2001e19aa/web/aa.php on line 12
Warning: mysqli::prepare() [function.mysqli-prepare]: Couldn't fetch mysqli in /home/www/cccf2e7a7c56b5ceef6d1ee2001e19aa/web/aa.php on line 13
Fatal error: Call to a member function bind_param() on a non-object in /home/www/cccf2e7a7c56b5ceef6d1ee2001e19aa/web/aa.php on line 14
Marsh Posté le 12-06-2008 à 13:32:41
comme celà ?
Code :
|
la j'ai ces erreurs:
Warning: mysqli::mysqli() [function.mysqli-mysqli]: (42000/1044): Access denied for user 'meteo'@'localhost' to database '0' in /home/www/cccf2e7a7c56b5ceef6d1ee2001e19aa/web/aa.php on line 9
Warning: mysqli::prepare() [function.mysqli-prepare]: Couldn't fetch mysqli in /home/www/cccf2e7a7c56b5ceef6d1ee2001e19aa/web/aa.php on line 10
Fatal error: Call to a member function bind_param() on a non-object in /home/www/cccf2e7a7c56b5ceef6d1ee2001e19aa/web/aa.php on line 11
Marsh Posté le 12-06-2008 à 13:33:27
...et si tu mettais les bons paramètres dans le constructeur de Mysqli ce serait pas mieux?
Marsh Posté le 12-06-2008 à 13:35:29
skeye a écrit : ...et si tu mettais les bons paramètres dans le constructeur de Mysqli ce serait pas mieux? |
les *** c'est pour cacher mes codes ici sur le forum
Marsh Posté le 12-06-2008 à 13:39:36
jc66 a écrit : |
...en attendant le message dir que l'utilisateur 'meteo'@'localhost' n'a pas le droit de se connecter à la base '0'
Marsh Posté le 12-06-2008 à 14:06:40
non ce n'est pas correct, il n'arrive pas à se connecter à la base là.
Marsh Posté le 12-06-2008 à 14:12:07
ReplyMarsh Posté le 12-06-2008 à 14:15:19
jc66 a écrit : je met |
et ta base s'appelle '0'?
Marsh Posté le 12-06-2008 à 14:16:34
skeye a écrit : |
bein non, j'ai pourtant mis le bon nom
Marsh Posté le 12-06-2008 à 14:19:26
Bon, je laisse tomber moi.
Ton machin n'arrive pas à se connecter, point.
Marsh Posté le 12-06-2008 à 14:24:47
mon fichier est un fichier.php et je l'appelle dans mon navigateur firefox. Les codes c'est sur et certains ils sont correct, j'ai plusieurs pages qui fonctionnent avec sur mon site
Marsh Posté le 12-06-2008 à 14:30:20
Code :
|
Marsh Posté le 12-06-2008 à 14:51:33
merci à toi
$stmt->bind_param('ssssssssss', $data[0], $data[1], $data[2], $data[3], $data[4], $data[5], $data[6], $data[7], $data[8], $data[9]);
je voit pas à quoi ca sert les sssssss ?
Marsh Posté le 12-06-2008 à 14:56:46
j'ai lu, mais avec le traducteur google faut comprendre
Bind variables pour les marqueurs de paramètres dans l'instruction SQL qui a été adoptée à mysqli_prepare ().
et j'ai justement une erreur a cette ligne, donc je cherche d'ou ca vient.
Fatal error: Call to a member function bind_param() on a non-object in /home/www/cccf2e7a7c56b5ceef6d1ee2001e19aa/web/aaa.php on line 24
Les variable ca a l'air bon, donc je pense que cavient des ssssssssss , mais pas sur
Marsh Posté le 12-06-2008 à 14:58:53
jc66 a écrit : |
ça, ça veut dire que prepare() a échoué.
Marsh Posté le 12-06-2008 à 15:12:36
exact ! après correction je n'ai plus aucun message d'erreur, mais juste une page blanche, et rien dans la bdd
Marsh Posté le 12-06-2008 à 15:24:12
envisage de récupérer el retour de execute() alors.
Marsh Posté le 12-06-2008 à 16:02:32
ReplyMarsh Posté le 12-06-2008 à 16:04:56
jc66 a écrit : je suis perdu |
On va pas te tenir la main indéfiniment hein...
http://fr.php.net/manual/en/mysqli-stmt.execute.php
Citation :
Returns TRUE on success or FALSE on failure. |
http://fr.php.net/manual/en/mysqli-stmt.error.php
Marsh Posté le 12-06-2008 à 16:06:46
Désolé de vous ennuyer.
Marsh Posté le 12-06-2008 à 16:25:52
Les mêmes lien en Français :
http://fr.php.net/manual/fr/mysqli-stmt.execute.php
http://fr.php.net/manual/fr/mysqli-stmt.error.php
Marsh Posté le 11-06-2008 à 20:32:18
Bonsoir j'ai actuellement un fichier com.txt avec des valeurs comme ceci:
82;01;1;01;01007;Ambronay;AMBRONAY;01500;1996;2146
82;01;1;17;01008;Ambutrix;AMBUTRIX;01500;595;586
j'ai creer ma table sql avec tous les champs necessaires à l'importation des données de ce fichier, puis je fait ca:
j'ai chmodé le fichier com.txt en 777, puis j'execute ma page ou ce trouve le script ci dessus.
J'ai cette erreur:
Warning: fopen() [function.fopen]: URL file-access is disabled in the server configuration in /home/www/cccf2e7a7c56b5ceef6d1ee2001e19aa/web/aa.php on line 6
Warning: fopen(http://www.meteo-world.com/com.txt) [function.fopen]: failed to open stream: no suitable wrapper could be found in /home/www/cccf2e7a7c56b5ceef6d1ee2001e19aa/web/aa.php on line 6
Warning: feof(): supplied argument is not a valid stream resource in /home/www/cccf2e7a7c56b5ceef6d1ee2001e19aa/web/aa.php on line 7
Warning: fgets(): supplied argument is not a valid stream resource in /home/www/cccf2e7a7c56b5ceef6d1ee2001e19aa/web/aa.php on line 9
Si quelqu'un peut m'aider. Merci
Message édité par jc66 le 12-06-2008 à 08:23:42