以下は、非常に基本的な検索機能のスクリプトです。
必要なときにいつでも結果がフェッチされるという意味ではうまく機能しますが、問題は、クエリがゼロの結果を返す必要がある場合に<div id="bar">No results!</div>
表示されないことです。代わりに、ページは空白です。
$search_query = $_GET['search'];
$search_query = htmlentities($search_query);
$word = "%$search_query%";
$search=$sth->con->prepare("SELECT id, firstname, lastname FROM users WHERE
firstname LIKE ? OR
lastname LIKE ?");
$search->bindValue(1, $word, PDO::PARAM_STR);
$search->bindValue(2, $word, PDO::PARAM_STR);
$search->execute();
$results = $search->fetchAll();
foreach ($results as $row) {
$firstname = $row["firstname"];
$lastname = $row["lastname"];
if (!(count($results) == 0)) {
?>
<div id="foo">Here are your results</div>
<?php
} else {
<div id="bar">No results!</div>
<?php
}
}
?>
ここで何が欠けていますか?