par
coxine » 09 mai 2006, 09:35
Bonjour
As-tu initialisé ta variable ?
if(!isset($_FILES['fichier'])) $file_name['fichier']=""; else $file_name=array('fichier'=>$_FILES['fichier']); // tu initalises la variable, et tu la mets dans un tableau virtuel
ensuite il me semble que tu as oublié la fonction : move_uploaded_file()
J'aurais tendance à vérifier qu'il y a un nom de fichier, que je copie dans la base dans le champ prévu à cet effet (d'ailleurs comment ta base est-elle construite ?) et ensuite faire le move_uploaded_file pour copier le fichier dans la base.
if ($file_name['fichier']['size']!=0)
{ //---s'il y a une fichier à mettre à jour, alors son nom est inséré dans la base.
$fichier_name=$_FILES['fichier']['name'];
$updateTable = "UPDATE table SET fichier='$fichier_name'";
$repertoire="../pdf/";
move_uploaded_file($fichier['fichier']['tmp_name'],$repertoire.$fichier['fichier']['name']);
}
mysql_query($updateTable, $connexion) or die(mysql_error());
C'est la méthode que j'utilise quand je veux mettre à jour une photo dans ma base. Donc peut-être que la fonction UPDATE n'est pas appropriée pour toi, mais plutôt INSERT....
bon, je suis encore novice, donc je ne sais pas si cette méthode est clean, mais c'est ce que je fais.