php mysql搜索引擎找不到结果

时间:2015-04-18 01:48:31

标签: php mysql search-engine

我正在尝试制作简单的搜索引擎。我的问题是我正在尝试的每个代码都给我带来了相同的结果“找到0结果。”我的数据库已填充,当我将我的SQL查询放入其中时,它会返回我查找的结果。 我从stackoverflow php search engine script尝试了这个代码,它确实为那个问这个问题的人带来了1个结果,而我得到的只是消息“抱歉,没有匹配的结果”。为了编写这段代码,我一步一步地按照phpacademy的youtube教程,再次发生同样的事情。我阅读了教程下的所有评论,看看是否有人遇到同样的问题,但它确实适合所有人。我不知道我做错了什么,如果有人能帮助我,我会非常感激。

这是我的html文件中的形式:

<body>
<form action="eatsearch.php" method="get">
    <label>
        Search
        <input type="text" name="keywords" placeholder = "Type to search..">
    </label>

    <input type="submit" value="Search">

这是我的php:

    <?php
require_once('config.php');

if(isset($_GET['keywords'])) {

    $keywords = $connect->escape_string($_GET['keywords']);

    $query = $connect->query("SELECT rname, tel, url, food 
    FROM general WHERE food LIKE '%{keywords}%'");

?>

    <div class="result-count">
        Found <?php echo $query->num_rows; ?> results.
    </div>

<?php

    if($query->num_rows) {
        while($result = $query->fetch_object()) {
?>

        <div class = "result">
            <a href="#"><?php echo $result->rname;?></a>
        </div>
<?php

        }
    }
}

?>

2 个答案:

答案 0 :(得分:0)

没有$的关键字? 放一个$ keywords

答案 1 :(得分:0)

您的错误在这里:

$query = $connect->query("SELECT rname, tel, url, food FROM general WHERE food LIKE '%{keywords}%'");

应该是:

$query = $connect->query("SELECT rname, tel, url, food 
    FROM general WHERE food LIKE '%{$keywords}%'");

您忘记了$变量前面的keywords符号。

相关问题