Я работаю над новым поисковым скриптом для моего сайта, который содержит несколько словарей. Сначала позвольте мне показать вам проблемную часть кода, а затем объяснить ....
$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". Тем не менее, это не так. Он просто всегда показывает НРАВИТСЯ результаты.
И когда я удаляю все это и оставляю первый запрос - результаты не возвращаются - даже если они находятся в базе данных.
Например, со всем, что включено после «if ($ count <1) {», я могу искать «SHE» или «I» и получать результаты - однако в него входят такие слова, как «неформальный», «единственный» и т. Д. Но когда я удаляю это, я могу искать «ОНА» и «Я» и не получить никакого результата, даже если они находятся в базе данных. </p>
Любая помощь будет принята с благодарностью.