-1

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

我的查询看起来像这样

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

谢谢,

4

1 回答 1

1

第一:检查变量$term是否返回值。前任:if($term)

第二:如果变量为EMPTY或NULL ,则%在两边 使用通配符$term就像一个没有条件的SELECT *语句。(请参阅字符串比较函数)。WHERE$term


* 请注意,现在不推荐使用mysql 扩展,并将在将来的某个时候将其删除。那是因为它很古老,充满了不良做法,缺乏一些现代特征。不要用它来编写新代码。请改用PDOmysqli_*。您的查询容易发生SQL 注入

于 2013-10-03T02:39:04.247 回答