Salut a tous,

Je suis en train de developer une aplication qui importe des données contenues dans un fichier CSV dans une base de données MySQL mais j'obiten une erreur:

Column count doesn't match value count at row 1

Mon fichier CSV est separé par des ";" et j'ai 6 colones, le voici:

135/80R13TL;INTENSA;MJ 683;T;Ligeiros;27,10 €
145/80R13TL;INTENSA;MJ 683;T;Ligeiros;30,73 €
155/80R13TL;INTENSA;MJ 683;T;Ligeiros;31,46 €
et voici mon fichier php, ce code php je l'ai recuperé ici dans le forum et d'après son createur il funcionait, je n'ai fait que très peu de changements:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
 
<?php 
	//Connection a la db
	include("../config.php");
?>
<html>
<head>
<title>Importa&ccedil;&atilde;o de dados na tabela</title>
</head>
<body>
<h2>Importa&ccedil;&atilde;o de dados na tabela</h2>
 
<?php
 switch($action)
 {
  /* LECTURE ET AJOUT DES DONNEES DANS LA TABLE */
   case "ajouter":
 
  // On ouvre le fichier à importer en lecture seulement 
 $fichier = $_FILES['fichier_u']['tmp_name'];
 if (file_exists($fichier))
     $fp = fopen("$fichier", "r");
 else
     { /* le fichier n'existe pas */
       echo "O ficheiro não foi encontrado !<br>A importação foi cancelada.";
       exit();
     }
 
    while (!feof($fp)) /* Et Hop on importe */
    { /* Tant qu'on n'atteint pas la fin du fichier */
       $ligne = fgets($fp,4096); /* On lit une ligne */ 
 
       /* On récupère les champs séparés par ; dans liste*/
       $liste = explode( ";",$ligne); 
 
       /* On assigne les variables */
       $val1 = $liste[0];
       $val2 = $liste[1];
       $val3 = $liste[2];
       $val4 = $liste[3];
       $val5 = $liste[4];
       $val6 = $liste[5];
 
       /* Ajouter un nouvel enregistrement dans la table */
       $query = "INSERT INTO $table VALUES('$val1','$val2','$val3','$val4', '$val5', '$val6')";
       $result= MYSQL_QUERY($query);
 
       if(mysql_error())
        { /* Erreur dans la base de donnees, sûrement la table qu'il faut créer */
           print "Erro na base de dados : ".mysql_error();
           print "<br>Importação cancelada.";
           exit();
        }
       else /* Tout va bien */
         print "$val1 $val2 $val 3 $val4 $val5 $val6 <br>";
     }
 
     echo "<br>Importação terminada com sucesso.";
 
     /* Fermeture */
     fclose($fp);
     MYSQL_CLOSE();
 
   break;
 
 
   /* FORMULAIRE DE CHOIX D'IMPORTATION */ 
 
   default:
   ?>
<?php echo "<form name='form1' method='post' action=".$_SERVER['PHP_SELF']." enctype='multipart/form-data'>"; ?> 
Escolha a tabela na qual pretende importar os dados 
<table border="0" cellspacing="0" cellpadding="3">
  <tr> 
    <td>Tabela :</td>
    <td> <select name="table" class="box_amostra" size="1" id="combustivel">
        <option value="Tabela" selected>Tabela</option>
        <option value="escapes">Escapes</option>
        <option value="escapes_oportunidades">Oportinidades Escapes</option>
        <option value="escapes_prom_mes">Promoção Escapes</option>
        <option value="pneus">Pneus</option>
        <option value="pneus_oportunidades">Oportinidades Pneus</option>
        <option value="pneus_prom_mes">Promoção Pneus</option>
      </select> </td>
  </tr>
  <tr> 
    <td>Ficheiro :</td>
    <td> <input type="file" name="fichier_u"> </td>
  </tr>
  <tr> 
    <td></td>
    <td> <input type="submit" name="submit" value="Inserir"> </td>
  </tr>
</table>
     <input type="hidden" name="action" value="ajouter"> 
    </form>
   <?php
   break;
 
   }
 
  ?>
 
</body>
</html>