【发布时间】: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);
?>
【问题讨论】:
-
您应该查看Natural Language Full-Text Searches。请注意应用的自动阈值。对于较小的数据库,您可能需要使用 BOOLEAN 模式进行搜索..
标签: php search mysqli search-engine