Bonjour,

Me voilà au 1er épisode de la saison 2 !
(Suite de cette discussion)

Je récupère bien un array de $_POST([]) avec des mes champs de mes select que cela soit dans le fichier php qui traitera mes résultats de ma requête sql. Je l'ai bien jusque dans mon model.

Mais au passage de mes paramètres pour la requête j'obtiens l'erreur suivante :

PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: no parameters were bound in pieceModel.php on line 311
Cette ligne correspond à la ligne : $specificProfessionalPieces->execute([]); du code ci-dessous :
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
static function getSpecificProfessionalActivePieces() {
 
    global $bdd;
 
    if (!empty($_POST['placeChoice'] && (isset($_POST['placeChoice']) || (!empty($_POST['gaugeChoice'] && (iseet($_POST['gaugeChoice']) || (!empty($_POST['duration_choice'] && (iseet($_POST['duration_choice']) || (!empty($_POST['audience_choice'] && (iseet($_POST['audience_choice'])))))))))))))
 
    $specificProfessionalPieces = $bdd->prepare(
            'SELECT p.id, p.flyer, p.piece_name, p.max_gauge, p.duration, p.audience, pu.universe_id
            FROM piece p
            INNER JOIN universe u
            INNER JOIN piece_universe pu
             ON pu.piece_id = p.id
             AND u.id = pu.universe_id
            INNER JOIN troop t
            INNER JOIN piece_troop pt
             ON t.id = pt.troop_id
             AND p.id = pt.piece_id             
            WHERE pt.troop_id LIKE 1
             AND p.situation LIKE "Actif"
             AND p.max_gauge = :gaugeChoice
             AND p.duration = :durationChoice
             AND p.audience = :audienceChoice
             AND pu.universe_id = :placeChoice');
        $specificProfessionalPieces = $bdd->prepare($sql);
        $specificProfessionalPieces->bindValue(':placeChoice', intVal($_POST['placeChoice']));
        $specificProfessionalPieces->bindValue(':gaugeChoice', strVal($_POST['gaugeChoice']));
        $specificProfessionalPieces->bindValue(':durationChoice', strVal($_POST['durationChoice']));
        $specificProfessionalPieces->bindValue(':audienceChoice', strVal($_POST['audienceChoice']));
 
        $specificProfessionalPieces->execute([]);
        return $specificProfessionalPieces->fetchAll();
    }
Merci pour votre aide, car je n'y comprends plus rien !