Voilà mon code :
public function countPupilsBySport($idSchool,$sports){
if (is_int($idSchool) && is_int($sports)) {
$sql = "SELECT COUNT(:sportx) AS 'sport' FROM pupils WHERE :blind != 0 AND school_id = :schoolid;";
$nbSports = 'sport'.$sports.'_id';
$nbSportsTwice = 'sport1_id';
$rocket = $this->dbh->prepare($sql);
$rocket->bindParam(':sportx', $nbSports, PDO::PARAM_STR);
$rocket->bindParam(':blind', $nbSportsTwice, PDO::PARAM_STR);
$rocket->bindParam(':schoolid', $idSchool, PDO::PARAM_INT);
$rocket->execute();
$countPupilsBySport = $rocket->fetch(PDO::FETCH_ASSOC);
return $countPupilsBySport['sport'];
}
}
Mon problème se situe au niveau de la requête où j'ai écrit ":blind" . Si je remplace dans ma requête SQL blind par sport1_id ça marche, si je la bind ça ne marche pas. Et j'ai essayé bon nombre de choses. Rien à faire il ne me prends pas le "!= 0" en compte. Le résultat est correct lorsque j'écris en dur, mais égale à zéro lorsque je le bind. Avant de faire autrement, j'aimerai bien savoir pourquoi parce que là je dois avouer que je sèche mais complètement… :-/