我有一些PHP代码的问题。所以,当我在搜索框中写入一些文本时,我应该会得到更多的结果,但是我只能得到1.这发生在我用INNER JOIN添加第二个查询时。我不知道为什么我只得到1个结果而不是更多,任何人都可以提供帮助? 当我删除第二个查询时,它会显示所有结果。PHP搜索框问题
$STH = $DBH->prepare('SELECT * FROM tv_shows WHERE title like :q ORDER BY title ASC LIMIT 5');
$STH->setFetchMode(PDO::FETCH_OBJ);
$STH->execute(array(
':q' => "%$q%"
));
if($STH->rowCount()) {
while($row = $STH->fetch()) {
$poster = $row->poster;
$mtitle = $row->title;
$mrd = $row->release_date;
$mid = $row->id;
$genres = "";
$STH = $DBH->prepare('SELECT g.title from genres g INNER JOIN tv_show_genres tg ON g.id = tg.genre_id INNER JOIN tv_shows t ON t.id = tg.tv_show_id WHERE t.id = :tid');
$STH->setFetchMode(PDO::FETCH_OBJ);
$STH->execute(array(
':tid' => $mid
));
if($STH->rowCount()) {
while($row = $STH->fetch()) {
$genres .= $row->title.", ";
}
echo
'<li>
<span class="search-poster"><img src="'.$poster.'"></span>
<span class="search-title">'.$mtitle.' ('.$mrd.')</span>
<span class="search-genre">'.substr($genres,0,-2).'</span>
</li>';
}
}
}
在初始选择仍然有未取消结果的情况下,您没有做过其他选择,还是您? – frz3993
第一条语句和第二条语句使用相同的变量'$ STH'。 – Barmar