Bonjour,
J'ai un "petit soucis" avec cette requête. Comme vous le verrez plus bas j'ai plusieurs fois :campaign et :member qui dans la requête ont exactement la même valeur.
Pourtant la requête comme ci ne fonctionne pas. Il me dit nombre de paramètre insuffisant.
Ne faite pas attention à la requête c'est juste un exemple.
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 $sql = $db->prepare(' SELECT mission_id, mission_name, complete_normal, complete_hard FROM missions INNER JOIN complete ON (mission_campaign = complete_campaign) AND (mission_id = complete_mission) WHERE mission_campaign = :campaign AND complete_member = :member UNION SELECT mission_id, mission_name, 0, 0 FROM missions WHERE mission_campaign = :campaign AND mission_id NOT IN (SELECT mission_id FROM missions INNER JOIN complete ON (mission_campaign = complete_campaign) AND (mission_id = complete_mission) WHERE mission_campaign = :campaign AND complete_member = :member) '); $sql->execute(array( ':campaign' => 1, ':member' => $_SESSION['member_id'], ));
Si je met des nom différent pour chaque fois que :campaign apparait ca passe.
Est ce qu'il faut utiliser autre chose que execute() pour pouvoir laisser :campaign 3 fois ?
C'est assez nul en tout cas de pas pouvoir faire ca.
Partager