Bonjour,
j'ai fais un programme qui me rempli ma base de données avec un fichier csv.
Cependant j'ai un warning avec les requetes:Voici le code :Invalid parameter number: number of bound variables does not match number of tokens
le warning est signalé pour la ligne :
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 <?php $fichierCsvActivite="C3P_activite.csv"; // fichier donnees activités $separateur = ';'; // Récupère une ressource sur les fichier CSV $fileActivite = new SplFileObject($fichierCsvActivite); $fileActivite->setFlags(SplFileObject::READ_CSV | SplFileObject::SKIP_EMPTY); $fileActivite->setCsvControl($separateur); // Pour avoir un code générique, on génère les marqueurs en fonction du nombre de champs : //Activite $tab_champsActivite = $fileActivite->current(); $champs_insertActivite = array_fill(0,count($tab_champsActivite),'?'); $champs_insertActivite = implode(',',$champs_insertActivite); try { $bdd = new PDO('mysql:host=localhost;dbname=basec3p', 'root', ''); $ReqInsertActivite = "INSERT INTO activite VALUES($champs_insertActivite)"; $insertionActivite = $bdd->prepare($ReqInsertActivite); $fileActivite->next(); while($rowActivite = $fileActivite->current()) { $insertionActivite->execute($rowActivite); $fileActivite->next(); } echo "<br>table activite remplie avec succès.<br>"; } catch(PDOException $e) { die('Erreur : '.$e->getMessage()); } ?>
Ainsi, il y'a certains lignes de mon fichier csv qui ne sont pas remplies dans ma base données.
Code : Sélectionner tout - Visualiser dans une fenêtre à part $insertionActivite->execute($rowActivite);
Merci de votre aide
Partager