首页 > 解决方案 > PHP如何让搜索引擎使用标签和LIKE

问题描述

我正在为我的画廊网站制作搜索引擎。我有以下代码,但是当有 6 个结果时,它只显示 1 个结果:

<form action="?" method="get" id="form_search" name="search" class="search_form">
<input type="text" name="search_details" id="search_field"/><input type="submit" value="Search" name="search_field" form="form_search">
</form>



<?php

$tags = '%'.$_GET['search_details'].'%';
$stmt = $mysqli->prepare("SELECT rowid, tags FROM " . $username . " WHERE 
tags LIKE ? AND sort=?");       
$stmt->bind_param("si", $tags, $sort);
$stmt->execute();
$result = $stmt->get_result();
while($row = $result->fetch_assoc())
{
    $arr[] = $row;
}
$stmt->close();

?>

搜索引擎似乎“几乎”工作。

有 6 个在他们的标签记录中都有“下载”这个词。标签本身仅由逗号分隔。但搜索引擎似乎只显示 1 条记录。此外,在搜索另一个术语时,它会显示 26 条记录中的 24 条。我假设通配符语句有问题。

我的代码中有一个 foreach 循环,因此问题与此页面上发布的问题不同:php search engine script

如何获得要显示的正确数量的记录?

提前致谢。

标签: phpmysql

解决方案


推荐阅读