2011-09-15 64 views
0

我正在为包含多个字典的网站开发新的搜索脚本。首先让我告诉你这个问题一段代码,然后解释....Mysql查询应该会产生结果,但不会

$sql = mysql_query("SELECT * FROM $tbl_name WHERE $field = '%$trimmed%' ORDER BY $field ".$sort." LIMIT ".$limits.", $max")or die(mysql_error()); 
$count = mysql_result(mysql_query("SELECT COUNT($field) FROM $tbl_name WHERE $field = '%$trimmed%'"),0); 

if ($count < 1){ 

$sql = mysql_query("SELECT * FROM $tbl_name WHERE $field LIKE '%$trimmed%' ORDER BY $field ".$sort." LIMIT ".$limits.", $max")or die(mysql_error()); 
$count = mysql_result(mysql_query("SELECT COUNT($field) FROM $tbl_name WHERE $field LIKE '%$trimmed%'"),0); 

} 

好了,从理论上讲,第一个查询应该选择的结果是准确的,并没有显示“LIKE”的结果显示出来。但是,它并没有这样做。它总是显示LIKE结果。

而当我删除所有这些,并留下第一个查询 - 没有结果返回 - 即使他们在数据库中。例如,在“if($ count < 1){”包含的内容后,我可以搜索“SHE”或“I”并获得结果 - 但它包括“非正式”,“单数”等词。但是当我删除这个时,我可以搜索“SHE”和“I”,即使它们在数据库中也没有结果。

任何帮助将不胜感激。

回答

2

删除第一个查询中“$ trimmed”周围的'%'字符。

看看是否修复它。

+0

它做到了!我觉得有点愚蠢,我没有尝试。你不会相信我已经搞乱了多久。谢谢! – Cory

+0

哎呀,对不起。 – Cory

+0

看不到它?我们都去过那儿。谢谢。 –

相关问题