Bonjour
J'essaie de remplir ma base de donnée à partir d'un fichier excel. Mais je me retrouve bloqué par cette erreur depuis hier et je ne vois pas comment la corriger.
Mon code est le suivant :
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
        	$nblignes = 0;
        	//On rentre le libClasse dans la table classe
             $query = $db->prepare("INSERT INTO CLASSE(libClasse) VALUES(:classe) ON DUPLICATE KEY UPDATE libClasse = :classe");
        	foreach ($sheet->getRowIterator() as $row) {
        	    if($nblignes >= 1){
        	        $nrow = $row->getRowIndex();
                    $classe = $sheet->getCellByColumnAndRow(7, $nrow)->getValue();
                    $query->execute(array(':classe'=>$classe));
        	    } 
		        $nblignes = $nblignes + 1;
        	}
        	//
        	$nblignes = 0;
        	//On remplit ensuite la table Eleve
            $query = $db->prepare("INSERT INTO ELEVE(libClasse, sexe, INE, nomEleve, prenom1Eleve, prenom2Eleve, prenom3Eleve, libGroupeLV1, libGroupeLV2, libOption, dateNaissance, MEF) values(:classe, :sexe, :INE, :nomEleve, :prenom1, :prenom2, :prenom3, :libGroupeLV1, :libGroupeLV2, :libOption, :dateNaissance, :MEF) ON DUPLICATE KEY UPDATE libClasse = :classe");
		    foreach ($sheet->getRowIterator() as $row) {
		       if($nblignes >= 1){
		            $nrow = $row->getRowIndex();
		            $sexe = $sheet->getCellByColumnAndRow(0, $nrow)->getValue();
		            $nomEleve = $sheet->getCellByColumnAndRow(1, $nrow)->getValue();
		            $prenom1 = $sheet->getCellByColumnAndRow(2, $nrow)->getValue();
                    $prenom2 = $sheet->getCellByColumnAndRow(3, $nrow)->getValue();
		            $prenom3 = $sheet->getCellByColumnAndRow(4, $nrow)->getValue();
		            $dateNaissance = $sheet->getCellByColumnAndRow(5, $nrow)->getValue();
                    $INE = $sheet->getCellByColumnAndRow(6, $nrow)->getValue();
		            $classe = $sheet->getCellByColumnAndRow(7, $nrow)->getValue();
		            $libGroupeLV1 = $sheet->getCellByColumnAndRow(8, $nrow)->getValue();
		            $libGroupeLV2 = $sheet->getCellByColumnAndRow(9, $nrow)->getValue();
                    $libOption = $sheet->getCellByColumnAndRow(10, $nrow)->getValue();
                    $MEF = $sheet->getCellByColumnAndRow(11, $nrow)->getValue();
 
 
                    $query->execute(array(':classe'=>$classe, ':sexe'=>$sexe, ':INE'=>$INE, ':nomEleve'=>$nomEleve, ':prenom1Eleve'=>$prenom1, ':prenom2Eleve'=>$prenom2, ':prenom3Eleve'=>$prenom3, 
                    ':libGroupeLV1'=>$libGroupeLV1, ':libGroupeLV2'=>$libGroupeLV2, ':libOption'=>$libOption, ':dateNaissance'=>$dateNaissance, ':MEF'=>$MEF ));
                }
                $nblignes = $nblignes + 1;
		    }
Et j'obtiens l'erreur suivante :
[QUOTE]Erreur : SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens[QUOTE]
Ma base de donnée est la suivante :
Nom : capturebdd.PNG
Affichages : 1074
Taille : 15,0 Ko
Quelqu'un aurait une idée ?
Merci d'avance