我有一些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