j'ai modifié la structure de requête +eur fois et ca marche pas
Version imprimable
j'ai modifié la structure de requête +eur fois et ca marche pas
Le problème pour insérer les données en base est que ton fichier csv contient des lignes avec une syntaxe telle que :
~/pdf/Spécialisation-Ferronnerie d'art.pdf
Or le guillemet simple dans : " ...d'art... " est interprété par SQL comme un séparateur de valeur à insérer. Il faut donc réécrire les lignes contenant des guillemets simples.
Pour ne pas avoir à les reprendre une à une j'ai rajouté un bout de code qui va reconstituer les lignes avec des guillemets simples en insérant un caractère d'échappement pour que SQL ne l'interprète pas comme un séparateur de valeur.
Je te poste le code que j'avais changé avec la partie qui va réécrire les lignes. Il fonctionne, la mise en base de données se fait!! J'ai rajouté les lignes de connexion à la base de données, je suppose que tu les avais déjà écrite mais c'est pour avoir un code qui tourne.
Fais attention l'insertion en base de données prend un certain temps, il est possible qui tu es une erreur :Code:
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Fatal error: Maximum execution time of 30 seconds exceeded in ...
Il faudra modifier soit par une fonction soit dans tes fichiers de configuration le time_out.
je vous remercie pour votre aide bbbbbbbbbbbbbbbbbc mais bn j'ai trouvé la solution :D, c'est une erreur de syntaxe dans la requête.
merciiii bonne journée :)
voilà mon code pour ceux qui ont le mem pblm
<?php
include('fonction.php');
ConnectMabase();
$var="C:\don\Classeur1.csv";
if (!file_exists($var)){ // le fichier n'existe pas
echo('Fichier introuvable !<br>Importation stoppée.');
}
else
{
$fp = fopen($var, "r");
while (($liste = fgetcsv($fp,4096,";"))!==FALSE){
//foreach($liste as $ligne)
// {
$VIlle = $liste[1];
$Secteur = $liste[2];
$Etablissement = $liste[3];
$FiliereDeFormation = $liste[4];
$Niveau = $liste[5];
$fiche = $liste[6];
$ID='0';
mysql_query("INSERT INTO etablissement ( VIlle, Secteur, Etablissement, FiliereDeFormation, Niveau , fiche, ID ) VALUES ('$VIlle','$Secteur','$Etablissement', '$FiliereDeFormation','$Niveau', '$fiche','0');");
// }
}
fclose($fp);
echo("importation réussie des élèves");
}
?>