2014-09-22 94 views
1

我有两个表格,我想从第一个选择每个负责人的Salles ID(他可能有许多 - > array())。使用PDO在选择语句中选择多行

所以我要选择这一切负责有塞勒斯,我做了这个声明(它返回一个空数组,而且我不确定为什么):

$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() 

任何建议吗?

回答

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) 
+0

联合是解决办法,你摇滚它的人,谢谢。 (y)的 – ADiL 2014-09-22 20:25:45