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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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