0
目前正在搜索表单上工作,它很好,但它没有成功获取任何结果。搜索MySQL数据库的PHP表单
这里的数据库截图
http://screensnapr.com/e/IdNs9j.png
正如你可以看到有字“龙”
现在,如果你去的search.php?NAME =龙了好结果带来了以下结果:
Results
Sorry, your search: dragon returned zero results
You searched for: dragon
Results
End of results
这里的搜索查询:
$searchTerm = trim($_GET['search']);
$query = "select * from item where name like '$searchTerm' order by name";
$numresults=mysql_query($query);
$numrows=mysql_num_rows($numresults);
if ($numrows == 0) {
echo "<h4>Results</h4>";
echo "<p>Sorry, your search: " . $searchTerm . " returned zero results</p>";
}
为什么不显示任何结果?任何帮助,将不胜感激。
谢谢,我原本有通配符,但我被告知删除它们,因为它们最终只会导致错误 也,我已经添加了mysqlrealescapestring,因为你建议,谢谢我差点忘记了sql的攻击: P 至于这个话题,通配符修复了它,谢谢 – Travs 2011-12-30 04:40:39
它们不应该导致错误,除非你误用它们,例如像'... LIKE%keyword%'不带引号,或者像'... LIKE%'关键字'%'之类的外部引号。 – 2011-12-30 04:41:44
以及最初的版本是/“%$ searchTerm%/”,但与我现在删除的代码的旧部分有问题,我认为查询的“喜欢”部分是通配符的原因:P – Travs 2011-12-30 04:42:59