message d'erreur SQLSTATE[HY093] lors d'une requête préparée Update liée à un formulaire
Bonjour,
j'ai crée une function avec une requete préparée et l'objectif est que l'utilisateur puisse modifiée le titre de la collection qu'il a crée. A la validation du formulaire j'ai un message d'erreur
"Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in modelCollections.php/"
Pourtant en sous j'ai bien cette ligne et qui correspond bien à mes trois variables lors de mon test à la validation du formulaire (il a bien récupéré les valeurs):
571840 ModelCollections->modifyCollections( $newTitre_coll = 'miocambio', $id_coll = '3', $fkidUtilis = '63' )
Voici ma fonctions dans le model :
Code:
1 2 3 4 5 6 7 8 9
|
function modifyCollections($newTitre_coll, $id_coll, $fkidUtilis) {
$req = $this->bdd->prepare ("
UPDATE collections SET 'titre_coll'=':newTitre_coll' where id_coll =':id_coll' and 'fkidUtilis=':fkidUtilis'");
$req->bindParam(':newTitre_coll', $newTitre_coll);
$req->bindParam(':id_coll', $id_coll);
$req->bindParam(':fkidUtilis', $fkidUtilis);
$req->execute();
} |
l'erreur est à la ligne 38 :
Code:
1 2 3 4 5 6 7 8 9
| if(isset($_POST["submitModifyCollect"])) {
if(isset($_POST["modifyColl"])) {
$modifyCollections = $collectionsController->modifyCollections(
$newTitreColl=$_POST['modifyColl'],
$id_coll = $_POST['collections'],
$fkidUtilis = $_SESSION['id']
);
}
} |
et si besoin le formulaire :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <form action="" method="post">
<div class="form-group mb-3">
<label for="identifiant">modifier une collection</label>
<div class="col-md-3 p-2 text-center">
<select select class ="form-select" name="collections">
<option selected>collections</option>
<?php foreach($collections as $collection) : ?>
<option value="<?= $collection['id_coll']?>"><?= $collection['titre_coll']?></option>
<?php endforeach?>
</select>
<input type="text" class="form-control" name="modifyColl">
</div>
<input type="submit" name="submitModifyCollect" class=" mb-3" value="submit">
</form> |
je ne comprend pas trop pourtant j'ai passé du temps. Que veut dire parametres invalides ? ma table a bien trois colonne id_coll, titre_coll, et fkidUtilis
merci pour votre aide