<?

/*
script permettant d'inserer des donnees d'un fichier csv dans une base mysql sur un serveur distant

methode :
1) on envoie par ftp sur le distant un fichier nomme fichier.csv dans le repertoire /var/www (par exemple)
2) on execute en local le script ci-dessous

Il est bien sur necessaire que le port 3306 du serveur distant soit ouvert sur l'exterieur.

Le contenu de fichier.csv est par exemple : 

=============
nom1;prenom1
nom2;prenom2
nom3;prenom3
============

La struture de la table nom est :

nom varchar(10)
prenom varchar(10)

*/

  
mysql_connect("adr_serveur","utilisateur_mysql","password") or die ("Impossible de se connecter au serveur de données");
 if (
mysql_select_db("test")) {
  echo 
"Tout va bien : cnx OK";
  
$query="LOAD DATA INFILE '/var/www/fichier.csv' INTO TABLE nom FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n'";
  
mysql_query("$query");

  
// on affiche pour verifier

 
$strSelectnom="select nom,prenom from nom";
  
$rsnom=mysql_query($strSelectnom);
  
$nRecnom=mysql_num_rows($rsnom);
  
$nLinenom=0;
  if (
$nRecnom>0) {
    print 
"<table border=1 cellspacing=0><tr><td>nom</td><td>prenom</td></tr>\r\n";
    while (
$nLinenom<$nRecnom) {
      
$fieldnom=mysql_result($rsnom,$nLinenom,"nom");
      
$fieldprenom=mysql_result($rsnom,$nLinenom,"prenom");
      print 
"<tr>";
      print 
"<td>$fieldnom</td>";
      print 
"<td>$fieldprenom</td>";
      print 
"</tr>\r\n";
      
$nLinenom=$nLinenom+1;
    }
    print 
"</table>";
  }
  
mysql_close();

 }else{
  die (
"Impossible de se connecter à la base de données");
}
?>