【发布时间】:2016-06-02 08:39:50
【问题描述】:
好的,所以我创建了一个网站,只是为了我正在做的一个项目。在这个网站上,我有这个数据库,上面有几篇文章,我使用这段代码进行查询:
<?php
if (!empty($_REQUEST['term'])) {
$term = mysql_real_escape_string($_REQUEST['term']);
$sql = "SELECT * FROM articles WHERE title LIKE '%".$term."%'";
$r_query = mysql_query($sql);
while ($row = mysql_fetch_array($r_query)){
echo $row['title'];
echo $row['summary'];
echo $row['content'];
echo $row['publicationDate'];
}
}
?>
问题在于搜索有点过于“松散”。该站点连接的数据库有许多文章。我不喜欢的是说我在搜索框中搜索了字母“A”,它会在任何文章标题中出现字母“A”的任何实例。因此,澳大利亚、奥地利、阿富汗甚至厄瓜多尔没有出现字母“A”的文章。这有点令人沮丧。你能帮帮我吗?
【问题讨论】:
-
删除第一个 %.... "SELECT * FROM 文章 WHERE title LIKE '$term."%'";
-
这不是 PHP 搜索,而是 SQL 查询。
-
$sql = "SELECT * FROM articles WHERE title LIKE $term.'%'";