我在我的网站上构建一个小搜索输入,它的工作方式,问题是它显示所有项目的结果,所以它不是真正的搜索,它只是抛出所有的表..
我的查询看起来像这样
// Get page data
$query1 = "SELECT id,tienda,descripcion,local,img FROM $tableName WHERE tienda LIKE '%$term%' ";
$result = mysql_query($query1)or die(mysql_error());
如果我删除$ term的%符号,那么我得到“没有结果”,所以我错过了什么。
我需要的是搜索精确和部分巧合,例如,“Go”应该抛出“google”作为结果..
谢谢,
答案 0 :(得分:1)
1st:检查变量$term
是否返回值。例如:if($term)
第二名:在%
的两侧使用通配符$term
就像SELECT *
语句,如果没有WHERE
条件变量$term
是EMPTY或NULL。 (见String Comparison Functions)。
*请注意mysql扩展名is now deprecated and will be removed sometime in the future。那是因为它古老,充满了不良做法,缺乏一些现代特色。不要用它来编写新代码。请改用PDO或mysqli_*。您的查询很容易SQL Injection。