Pb avec fichier dans SELECT * INTO OUTFILE

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Pb avec fichier dans SELECT * INTO OUTFILE

par sadeq » 22 août 2008, 21:58

Souvent, le problème concerne deux choses :
- Le dossier C:\\Programmes\\EasyPHP2\\www\\ebasket\\admin n'existe pas
ou
- Il n'y a pas de droit d'écriture sur le dossier C:\\Programmes\\EasyPHP2\\www\\ebasket\\admin

par Sékiltoyai » 22 août 2008, 20:31

@rthur, le problème ne se pose pas, il n'utilise pas les antislashes…

par @rthur » 22 août 2008, 17:48

Bonjour,

Essaye de doubler tes antislashes (car un antislashe tout seul = caractère d'échappement)

Code : Tout sélectionner

C:\\Programmes\\EasyPHP2\\www\\ebasket\\admin\\savejeu1_calendrier.txt

par TiFred » 22 août 2008, 13:19

Salut,

Ce sujet est tjs d'actualité
Qq'un peut m'aider SVP ?

Merci

par TiFred » 06 août 2008, 11:02

Bonjour,

Je suis tjs en train de tester ça !
<?php   
require_once("newfonctions.php") ;

$db = Ouvrebase() ; //ouverture de la base
//$fichier = "save".$_POST['table'].".txt" ;  //avec ce type de fichier ça marche mais il faut trouver à l'effacer et il est dans le dossier de la base
$fichier = "C://Programmes/EasyPHP2/www/ebasket/admin/save".$_POST['table'].".txt" ;

$req = Envoierequette($db, "SELECT * INTO OUTFILE '".$fichier."' FROM ".$_POST['table']) ; 

$message = 'Sauvegarde de la table '.$_POST['table'].' terminée.' ;

Fermebase($db) ;

echo "<div>$message<br />" ;
?>
Si je met un nom de fichier sans chemin, ça marche (et il me met le fichier dans le répertoire correspondant à la base)
mais si je met $fichier = "C://Programmes/EasyPHP2/www/ebasket/admin/save".$_POST['table'].".txt" ; là il plante, le message est :

Erreur SQL !
SELECT * INTO OUTFILE 'C://Programmes/EasyPHP2/www/ebasket/admin/savejeu1_calendrier.txt' FROM jeu1_calendrier
Can't create/write to file 'C:\\Programmes\EasyPHP2\www\ebasket\admin\savejeu1_calendrier.txt' (Errcode: 2)


J'ai bien vérifié à supprimer les fichiers existants !!!

par sadeq » 17 juil. 2008, 20:31

par TiFred » 17 juil. 2008, 20:24

Le supprimer s'il existe déjà !

par Sékiltoyai » 17 juil. 2008, 19:11

C'est à dire, que dois tu en faire du fichier ?

par TiFred » 17 juil. 2008, 18:24

Un chemin absolu, ce n'est pas une URL. Si tu mets http ce n'est plus un chemin, et je suis curieux de savoir comment tu veux que MySQL écrive dans un fichier en http… D'autant plus qu'il ne connaît pas le protocole…
Pour MySQL mais PHP ?

par Sékiltoyai » 16 juil. 2008, 18:53

Un chemin absolu, ce n'est pas une URL. Si tu mets http ce n'est plus un chemin, et je suis curieux de savoir comment tu veux que MySQL écrive dans un fichier en http… D'autant plus qu'il ne connaît pas le protocole…

par TiFred » 16 juil. 2008, 17:33

En local il faut mettre C: ou http// ?
Merci

par Sékiltoyai » 15 juil. 2008, 16:18

Indique un chemin absolu...

par TiFred » 15 juil. 2008, 13:58

MySQL (au moins pour cette commande) considère que le fichier est au niveau de la base de données

PHP considère que le fichier est au même endroit que le script PHP

Je voudrais pouvoir mettre le fichier à un endroit précis. Comment faire pour nommer facilement le fichier (au si bien en local que sur le site) ?

Re: Pb avec fichier dans SELECT * INTO OUTFILE

par Sékiltoyai » 15 juil. 2008, 12:48

Mais PHP ne réagit pas pareil que MySQL au niveau fichier
Que veut ce dire exactement ?

Pb avec fichier dans SELECT * INTO OUTFILE

par TiFred » 15 juil. 2008, 11:19

Salut,

Je cherche à faire une sauvegarde avec SELECT * INTO OUTFILE
Mais PHP ne réagit pas pareil que MySQL au niveau fichier

Comment résoudre facilement le pb ?
Merci