我仍然是 PHP 新手,所以如果这很简单,我深表歉意。
我正在使用 PHP 和 mySQL 为网站创建一个相当基本的搜索工具。我已经连接到数据库,选择了数据库,查询了表并获取了表列;
$k = htmlspecialchars($_GET['k']); // Get search query
$select = mssql_query("SELECT * FROM search WHERE Title Like '%" . $k . "%'");
if( mssql_num_rows($select) < 1) {
$noResults = 'No results found for <b>' . $k . '</b>, <label for="k">Please try again.</label>';
} else {
while ($results = mssql_fetch_array($select)) {
$title = $results['Title'];
$link = $results['Link'];
$description = $results['Description'];
}
}
当我将 $results[''] 列放入变量中,然后尝试像这样回显每个变量时;
if( isset($noResults)) {
echo $noResults;
} else {
echo '<li>' . '<h2>' . '<a href="' . $link . '" title="' . $title . '">' . $title . '</a>' . '</h2>' . '<p>' . $link . '</p>' . '<p>' . $description . '</p>' . '</li>';
}
但是,它只回显与该查询匹配的一行,如果我只是简单地回显这样的列;
echo $results['Title'];
echo $results['Link'];
echo $results['Description'];
将显示与查询匹配的所有行..
我不确定为什么会这样。如果有人可以帮助我,那就太好了!