我正在尝试制作简单的搜索引擎。我的问题是我正在尝试的每个代码都给我带来了相同的结果“找到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
}
}
}
?>
答案 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
符号。