VSV-M PSN : Luluberlu | Bonjour à tous, J'ai créé une interface php afin de permettre l'import dans une base de données le contenu d'un fichier CSV légèrement modifié
Il semble cenpendant que ca ne marche pas correctement Avec mon code j'ai un bug qui créé des centaines milliers de champs vides dans ma db.
dans les csv, les colonnes sont délimitées par le symbole "|". La raison est que dans les strings que je dois insérer dans la base, il y a beaucoup de caractères spéciaux : "; , /".
voici le code que j'ai écris en regardant à droite à gauche sur le net ( je suis complètement débutant autodidacte) :
Code :
- $fichier = fopen("upload/".$_FILES['csv']['name'], "r" );
- //efface toute les données précédentes
- $sql1 ="DELETE FROM personnaldb";
- $req1=mysql_query($sql1)or die (mysql_error());
- while (!feof($fichier))
- {
- // On recupere toute la ligne
- $uneLigne = addslashes(fgets($fichier));
- //On met dans un tableau les differentes valeurs trouvés (ici séparées par un '|')
- $tableauValeurs = explode('|', $uneLigne);
- $sql = "INSERT INTO db (champ1, champ2, champ3, champ4, champ5, champ6, champ7, champ8, champ9)
- VALUES
- ('".$tableauValeurs[0]."', '".$tableauValeurs[1]."', '".$tableauValeurs[2]."', '".$tableauValeurs[3]."', '".$tableauValeurs[4]."', '".$tableauValeurs[5]."', '".$tableauValeurs[6]."', '".$tableauValeurs[7]."','".$tableauValeurs[8]."')";
|
Je pense que le problème viens d'un boucle tournant à l'infini ( probleme avec la fonction addslashes ?).
Merci pour votre aide ---------------
PSN : Luluberlu
|