gpt4 book ai didi

php - 如果列被放入变量,mssql_fetch_array 只显示一行

转载 作者:行者123 更新时间:2023-12-01 00:52:07 25 4
gpt4 key购买 nike

我仍然是一个 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'];

将显示与查询匹配的所有行..

我不确定为什么会这样。如果有人能帮助我,那就太好了!

最佳答案

你需要使用一个循环:

$k = mysql_real_escape_string($_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 {
$results= array();
while ($result = mssql_fetch_array($select)) {
$results[]= $result;
}

}

if( isset($noResults)) {

echo $noResults;

} else {
echo "<ul>";
foreach($results as $result){
echo '<li>' . '<h2>' . '<a href="' . $result['link'] . '" title="' . $result['title'] . '">' . $result['title'] . '</a>' . '</h2>' . '<p>' . $result['link'] . '</p>' . '<p>' . $result['description'] . '</p>' . '</li>';
}
echo "</ul>";
}

关于php - 如果列被放入变量,mssql_fetch_array 只显示一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14499614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com