Inserer un fichier dans une base de donnée en php [Résolu]

fafakart 11 Messages postés mercredi 30 mai 2007Date d'inscription 13 juin 2007 Dernière intervention - 30 mai 2007 à 14:32 - Dernière réponse : fafakart 11 Messages postés mercredi 30 mai 2007Date d'inscription 13 juin 2007 Dernière intervention
- 12 juin 2007 à 10:08
Bonjour,

je suis un débutant en php et je voudrait savoir comment au fait pour inserer un fichier dans une base de donnée en php.

merci d'avance.

fafakart
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
fafakart 11 Messages postés mercredi 30 mai 2007Date d'inscription 13 juin 2007 Dernière intervention - 12 juin 2007 à 10:08
1
Merci
merci pour vos reponse.

voila le code qui marche pour inserer un fichier dans une BDD.

<?php
if(isset($_POST[importer2]))
{
 // Appel du script de connexion
 require("ConnectPersonnel.php");


 // Envoi de la requête à la base
  mysql_query("DELETE FROM service") or die('Erreur dans la requête SQL');


$file = fopen("C:\Documents and Settings\DALMON\Mes documents\Mes fichiers reçus\liste des entités organisationnelles_0002085.csv", "r");
$i=0;
while(!feof($file))    //Tant que l'on est pas a la fin du fichier
{
 $i++;
    $tab=fgetcsv($file, 1024,";");
 // $tab[]=explode(';',$ligne);


    echo "Ligne $i : $ligne
";
 
 // Définir la requête SQL
 $sql="INSERT INTO service (CodeService,NomService,Hierarchie) VALUES ('$tab[0]','$tab[2]','$tab[1]')";                                                            
 echo $sql;
 
 // Envoi de la requête à la base
  mysql_query($sql) or die('Erreur dans la requête SQL');
}
fclose($file);  


 
 // Fermeture de la connexion
 mysql_close();
 $tab[0]="";
 $tab[2]="";
 $tab[1]="";
}
?>

fafakart

Merci fafakart 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de fafakart
Renfield 17308 Messages postés mercredi 2 janvier 2002Date d'inscription 22 août 2018 Dernière intervention - 30 mai 2007 à 14:50
0
Merci
commence par te rendre sur

au lieu de VbFrance, ca ira bien mieux ^^
Commenter la réponse de Renfield
lesdis 401 Messages postés mercredi 19 avril 2006Date d'inscription 6 juin 2011 Dernière intervention - 30 mai 2007 à 15:44
0
Merci
Bonjour,

Tout dépend de ton fichier et de ce que tu veux récupérer dedans. :)
Si tu pouvais nous donner un petit bout de ce fichier, cela nous permettrait de t'aider plus facilement.

Bonne prog ;)
Commenter la réponse de lesdis
coucou747 12336 Messages postés mardi 10 février 2004Date d'inscription 30 juillet 2012 Dernière intervention - 30 mai 2007 à 15:45
0
Merci
Salut

tu prends un champ de type blob, et apres un simple addslashes tu le mets dans un champ de type blob apres un insert classique.

une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
Commenter la réponse de coucou747
lesdis 401 Messages postés mercredi 19 avril 2006Date d'inscription 6 juin 2011 Dernière intervention - 30 mai 2007 à 16:12
0
Merci
Effectivement, si tu veux stocker un bête fichier dans une base de données, la solution de coucou747 est la bonne.

Pour ma part, je pensais plutôt a un fichier de sauvegarde de base de donnée.
Commenter la réponse de lesdis
fafakart 11 Messages postés mercredi 30 mai 2007Date d'inscription 13 juin 2007 Dernière intervention - 31 mai 2007 à 10:22
0
Merci
Bonjour,

Merci déja pour vos reponses

J'ai fais une requête pour me permettre d'inserer mon fichier mais elle ne fonctionne pas.

Cela m'indique qui a une erreur dans la requête mais je ne comprend pas où.

Voici mon code :

<?php
if(isset($_POST[importer]))
{
 // Appel du script de connexion
 require("ConnectPersonnel.php");


$file = fopen("C:\Documents and Settings\DALMON\Mes documents\Mes fichiers reçus\liste des agents présents en anr_0002084.csv", "r");
$i=1;
while(!feof($file))    //Tant que l'on est pas a la fin du fichier
{
     $ligne=fgetcsv($file, 1024);
  $tab[]=explode(';',$ligne);
     $i++;
}
fclose($file);


 $nom=$_POST[Nom];                              
 $prenom=$_POST[Prenom];
 $site=$_POST[Site];
 $service=$_POST[CodeService];
 $mel=$_POST[Mel];
 $telephone=$_POST[Telephone];
 $fax=$_POST[Fax];


 // Définir la requête SQL
 $sql="INSERT INTO personnel
 (Nom,Prenom,Site,CodeService,Mel,Telephone,Fax) VALUE
 ('$tab[0]','$tab[1]','$tab[2]','$tab[3]','$tab[4]','$tab[5]','$tab[6]')";                                                                   
 echo $sql;


 // Envoi de la requête à la base
 mysql_query($sql) or die('Erreur dans la requête SQL');


 // Fermeture de la connexion
 mysql_close();
 $nom="";
 $prenom="";
 $site="";
 $service="";
 $mel="";
 $telephone="";
 $fax="";
}
?>

fafakart
Commenter la réponse de fafakart
coucou747 12336 Messages postés mardi 10 février 2004Date d'inscription 30 juillet 2012 Dernière intervention - 31 mai 2007 à 10:29
0
Merci
Salut

mysql_error(); renvoi quoi ?

une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
Commenter la réponse de coucou747
fafakart 11 Messages postés mercredi 30 mai 2007Date d'inscription 13 juin 2007 Dernière intervention - 31 mai 2007 à 10:54
0
Merci
salut,


voila le message d'erreur qui m'envoie et la requête qui s'affiche car j'ai fais un echo de la requête.


INSERT INTO personnel (Nom,Prenom,Site,CodeService,Mel,Telephone,Fax) VALUE ('Array','Array','Array','Array','Array','Array','Array')Erreur dans la requête SQL

fafakart
Commenter la réponse de fafakart
coucou747 12336 Messages postés mardi 10 février 2004Date d'inscription 30 juillet 2012 Dernière intervention - 31 mai 2007 à 11:01
0
Merci
Salut

je t'ai dit d'utiliser mysql_error....

quand au fait que tu inseres des Array, je crois que t'as oublie un foreach...

une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
Commenter la réponse de coucou747
dvdstory 196 Messages postés dimanche 23 janvier 2005Date d'inscription 10 août 2009 Dernière intervention - 11 juin 2007 à 18:20
0
Merci
Si ce sont de gros fichiers, il n'est pas conseillé de les mettre dans la BDD.
Dans ce cas là on enregistre le fichier sur le Serveur et on enregistre juste URL dans la BDD pour accéder au fichier présent sur le serveur plus tard.

GRUNENBERGER Benoît

[www.UnrealNetwork.net www.UnrealNetwork.net]
Commenter la réponse de dvdstory

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.