【问题标题】:Php simple search engine?php简单的搜索引擎?
【发布时间】:2014-07-31 15:02:44
【问题描述】:

我正在构建一个返回数据的搜索引擎,如果数据库中没有结果,我将无法显示消息。我是 MYSQLI 的初学者。我该怎么做呢?我厌倦了计算行数,如果它们小于 0 来显示它,但我在编写它时遇到了错误。

代码:

<?php
$db = mysqli_connect('localhost','root', '', 'searchengine');

if(!$db) {
    die('sorry we are having some problbems');
}


$searchTerm = mysqli_real_escape_string($db,$_GET['term']);

$searchTerm = trim($searchTerm);

if ($searchTerm == '') {
    echo("no key words searched please try again");
}

else
{
$sql = mysqli_query(
    $db,
    sprintf(
        "SELECT * FROM searchengine WHERE name LIKE '%s' LIMIT 0,20",
        '%'. $searchTerm .'%'
    )
);

while($ser = mysqli_fetch_array($sql)) {
    echo "<a href='$ser[pageurl]'>$ser[img]</a>";
}
}

mysqli_close($db);
?>

【问题讨论】:

标签: php search mysqli search-engine


【解决方案1】:

使用mysqli_num_rows...

$sql = mysqli_query(
    $db,
    sprintf(
        "SELECT * FROM searchengine WHERE name LIKE '%s' LIMIT 0,20",
        '%'. $searchTerm .'%'
    )
);
if(mysqli_num_rows($sql) === 0) {
    echo "No results.";
}

【讨论】:

    【解决方案2】:

    由于mysqli_fetch_array()在没有结果的时候返回null,所以也可以放

    if ($ser === NULL){
        echo "no results";
    }
    

    最后

    【讨论】:

      猜你喜欢
      • 2012-04-04
      • 1970-01-01
      • 1970-01-01
      • 2014-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-10
      相关资源
      最近更新 更多