在MySQL中搜索术语的简单查询

时间:2013-10-03 02:30:38

标签: php mysql

我在我的网站上构建一个小搜索输入,它的工作方式,问题是它显示所有项目的结果,所以它不是真正的搜索,它只是抛出所有的表..

我的查询看起来像这样

// 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”作为结果..

谢谢,

1 个答案:

答案 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。那是因为它古老,充满了不良做法,缺乏一些现代特色。不要用它来编写新代码。请改用PDOmysqli_*。您的查询很容易SQL Injection