【问题标题】:Mysql query should produce results, but doesn'tMysql 查询应该产生结果,但没有
【发布时间】:2024-05-01 09:25:01
【问题描述】:

我正在为我的网站编写一个包含多个字典的新搜索脚本。先让我给你看问题的代码,然后解释....

$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

任何帮助将不胜感激。

【问题讨论】:

    标签: php mysql search


    【解决方案1】:

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

    看看能不能解决问题。

    【讨论】:

    • 它做到了!我觉得有点愚蠢,我没有尝试过。你不会相信我已经搞砸了多久。谢谢!
    • 看不到?我们都去过那儿。谢谢。