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

Signaler
Messages postés
11
Date d'inscription
mercredi 30 mai 2007
Statut
Membre
Dernière intervention
13 juin 2007
-
Messages postés
11
Date d'inscription
mercredi 30 mai 2007
Statut
Membre
Dernière intervention
13 juin 2007
-
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

10 réponses

Messages postés
11
Date d'inscription
mercredi 30 mai 2007
Statut
Membre
Dernière intervention
13 juin 2007
1
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
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
commence par te rendre sur

au lieu de VbFrance, ca ira bien mieux ^^
Messages postés
403
Date d'inscription
mercredi 19 avril 2006
Statut
Membre
Dernière intervention
7 août 2020
1
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 ;)
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
40
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
Messages postés
403
Date d'inscription
mercredi 19 avril 2006
Statut
Membre
Dernière intervention
7 août 2020
1
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.
Messages postés
11
Date d'inscription
mercredi 30 mai 2007
Statut
Membre
Dernière intervention
13 juin 2007
1
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
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
40
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
Messages postés
11
Date d'inscription
mercredi 30 mai 2007
Statut
Membre
Dernière intervention
13 juin 2007
1
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
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
40
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
Messages postés
192
Date d'inscription
dimanche 23 janvier 2005
Statut
Membre
Dernière intervention
10 août 2009

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]