[英]$sql = mysql_query(“SELECT * FROM books WHERE tags LIKE '%$_GET[term]%' LIMIT 0,$_GET[results]”);
我正在尝试制作一个Like搜索引擎,这对我的网站来说很简单。 这是我正在使用的代码:
$sql = mysql_query("SELECT * FROM books WHERE tags LIKE '%$_GET[term]%' LIMIT 0,$_GET
[results]");
while($ser = mysql_fetch_array($sql)) {
echo $ser['title']."<br />";
}
但是,当它搜索时,它只会在我的标签中寻找一个词。 有人对如何搜索我的所有标签有什么好主意吗?
$sql = mysql_query("SELECT * FROM books WHERE tags LIKE '%$_GET[term]%'");
从查询中删除限制,您应该从查询中获取所有匹配的行。
我强烈建议不要直接使用用户首先解析的值,以保护自己免受SQL注入的侵害
尝试删除限制,然后检查是否给出相同的结果?
用这个:-
$keywords =$_GET[term];
$keywords = explode('delimiter', $keyword);
$searchTermKeywords = array();
foreach ($keywords as $word)
{
$searchTermKeywords[] = "tags LIKE '%$word%'";
}
$result= mysql_query("SELECT * FROM books WHERE ".implode(' AND ', $searchTermKeywords).");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.