我有两个表,我想从第一个中选择每个负责人的Salles ID(他可能有很多 - > array())。
所以我想选择所有负责人,我做了这个语句(返回一个空数组,我不确定为什么):
$sels = $db->prepare("SELECT salle FROM salleresp WHERE resp = :resp");
$sels->bindParam(':resp',$rsb['matricule']);
$sels->execute();
$rss = $sels->fetchAll(PDO::FETCH_ASSOC);
$questionmarks = str_repeat("?,", count($rss)-1) . "?";
$selectSalle1 = $db->prepare("SELECT * FROM salle WHERE salleId IN ($questionmarks) ");
$selectSalle1->execute($rss);
$showAll=$selectSalle1->fetchAll(PDO::FETCH_ASSOC);
当我这样做时:
print_r($showAll);
它返回一个空数组:
array()
有什么建议吗?
答案 0 :(得分:1)
SELECT * FROM salle WHERE salleId IN (SELECT salle FROM salleresp WHERE resp = :resp)
或
SELECT * FROM salle left join salleresp on (salle.salleId = salleresp.salle)
WHERE resp = :resp)