Je l'avais levé le ';' . Effectivement il a rien à faire là mais le problème ne vient pas de là. Ta solution ne marche tout de même pas.
Je vais essayer de donner plus d'informations.
ma requête :
select count(sport1_id) from pupils where school_id=2 and sport1_id!=0;
J'ai plusieurs school_id (3 en tout) et j'ai une table pupils avec ID,school_id,sport1_id,sport2_id,sport3_id. Que de l'integer. Quand c'est 0 y'a pas de sportX_id. Si je remplace les zéros par NULL et mets IS NOT NULL à la place de !=0 ça ne marche toujours pas.
$sql = "SELECT COUNT(?) AS 'sport' FROM pupils WHERE sport1_id IS NOT NULL AND school_id = ?";
$nbSports = 'sport'.$sports.'_id';
$rocket = $this->dbh->prepare($sql);
$rocket->execute(array($nbSports, $idSchool));
$countPupilsBySport = $rocket->fetch(PDO::FETCH_ASSOC);
return $countPupilsBySport['sport'];
Ma requête effectuée dans la console marche très bien. Lorsque je fais dans PDO, ça marche. Mais il n'y a rien à faire il ne prends pas en compte le ' !=0 '.
Si je fais ça, ça marche ....
$sql = "SELECT COUNT(?) AS 'sport' FROM pupils WHERE sport1_id!=0 AND school_id = ?";
$nbSports = 'sport'.$sports.'_id';
$rocket = $this->dbh->prepare($sql);
$rocket->execute(array($nbSports, $idSchool));
$countPupilsBySport = $rocket->fetch(PDO::FETCH_ASSOC);
return $countPupilsBySport['sport'];
J'ai l'impression qi'on ne peut pas binder 2 fois la même valeur; au départ je m'étais vautré parce que j'avais mis la même référence, et avec bindParam on ne petu pas mettre deux fois la même :bindmeplease
Je l'avais levé le ';' . Effectivement il a rien à faire là mais le problème ne vient pas de là. Ta solution ne marche tout de même pas.
Je vais essayer de donner plus d'informations.
ma requête :
[sql]select count(sport1_id) from pupils where school_id=2 and sport1_id!=0;
[/sql]
J'ai plusieurs school_id (3 en tout) et j'ai une table pupils avec ID,school_id,sport1_id,sport2_id,sport3_id. Que de l'integer. Quand c'est 0 y'a pas de sportX_id. Si je remplace les zéros par NULL et mets IS NOT NULL à la place de !=0 ça ne marche toujours pas.
[php]$sql = "SELECT COUNT(?) AS 'sport' FROM pupils WHERE sport1_id IS NOT NULL AND school_id = ?";
$nbSports = 'sport'.$sports.'_id';
$rocket = $this->dbh->prepare($sql);
$rocket->execute(array($nbSports, $idSchool));
$countPupilsBySport = $rocket->fetch(PDO::FETCH_ASSOC);
return $countPupilsBySport['sport'];[/php]
Ma requête effectuée dans la console marche très bien. Lorsque je fais dans PDO, ça marche. Mais il n'y a rien à faire il ne prends pas en compte le ' !=0 '.
Si je fais ça, ça marche ....
[php]$sql = "SELECT COUNT(?) AS 'sport' FROM pupils WHERE sport1_id!=0 AND school_id = ?";
$nbSports = 'sport'.$sports.'_id';
$rocket = $this->dbh->prepare($sql);
$rocket->execute(array($nbSports, $idSchool));
$countPupilsBySport = $rocket->fetch(PDO::FETCH_ASSOC);
return $countPupilsBySport['sport'];[/php]
J'ai l'impression qi'on ne peut pas binder 2 fois la même valeur; au départ je m'étais vautré parce que j'avais mis la même référence, et avec bindParam on ne petu pas mettre deux fois la même :bindmeplease