Erreur 'SQLSTATE[HY093]' lors d'opérations sur $bdd
J'ai écrit un script destiné à permettre de transférer les données de la table 'equipements_encours' vers la table 'historiqueequipements' (voir l'extrait ci-dessous)
A première vue tout me semble OK: toutes les données correspondent (dans 'prepare' aussi bien que dans 'array') mais lors du lancement du script, je reçois systématiquement le message d'erreur suivant:
( ! ) Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]:'Invalid parameter number: number of bound variables does not match number of tokens' in C:\wamp\www\EASY.... on line 270
NB: la ligne 270 dans mon script est la ligne 31 dans l'extrait ci-dessous
Code:
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
|
//Récupération des données de 'equipements_encours':
$req = $bdd->prepare('SELECT * FROM equipements_encours WHERE RefGesnavAeronef=:RefGesnavAeronef') or die(print_r($bdd->errorInfo()));
$req->execute(array(
'RefGesnavAeronef'=> $_SESSION['RefGesnavAeronef']
));
while($donnees = $req->fetch())
{
$TypeEquipement=$donnees['TypeEquipement'];
$FabricantEquipement=$donnees['FabricantEquipement'];
$ModeleEquipement=$donnees['ModeleEquipement'];
$NumeroSerieEquipement=$donnees['NumeroSerieEquipement'];
$InventairePesee=$donnees['InventairePesee'];
//Insertion des données de 'equipements_encours' dans 'historiqueequipements':
$req1 = $bdd->prepare('INSERT INTO historiqueequipements(RefGesnavAeronef,intituleOperation,dateCloture,TypeEquipement,FabricantEquipement,ModeleEquipement,NumeroSerieEquipement,InventairePesee) VALUES(:RefGesnavAeronef,:intituleOperation,:dateCloture,:TypeEquipement,:FabricantEquipement,:ModeleEquipement,;NumeroSerieEquipement,:InventairePesee)');
$req1->execute(array (
'RefGesnavAeronef'=> $_SESSION['RefGesnavAeronef'],
'intituleOperation'=>$_SESSION['intituleOperation'],
'dateCloture'=>$_SESSION['dateCloture'],
'TypeEquipement'=>$TypeEquipement,
'FabricantEquipement'=>$FabricantEquipement,
'ModeleEquipement'=>$ModeleEquipement,
'NumeroSerieEquipement'=>$NumeroSerieEquipement,
'InventairePesee'=>$InventairePesee
));
} |
Quelqu'un voit-il l'erreur?
Merci
[PHP 5.5] Erreur 'SQLSTATE[HY093]' lors d'opérations sur $bdd
Merci: j'avais passé des heures sans parvenir à détecter ce;. Bonne leçon pour l'avenir. Une question seulement dans le code que tu proposes, je pense que le deuxième $req $req->execute est plutôt: $req1->execute, n'est-ce-pas?
Merci en tous cas