1

当然加载的数据库。get 术语是一个自动完成字符串,可以在数据库中的 groupname 下找到,但如您所见,如果它不匹配,我不想运行 if,如果找到,是的第一部分。问题是,如果我替换实际字符串的 get term 部分,它可以工作,如果我添加数据库中不存在的字符串,它仍然像魅力一样工作。但是当 get term 完成后,不管字符串是否可以找到,numrows 无论如何都会大于 0。为什么?= 和 LIKE 也试过了 ofc

$query = "select * from `gamegroups` where `groupname` = '%{$_GET['term']}%'";

$resultset = mysql_query($query);

if (mysql_num_rows($resultset) > 0 ){

$lolz = array();

while( $row = mysql_fetch_assoc($resultset) ) {
    $lolz[] = $row['gameid'];
}
echo json_encode($lolz);
            }else{print "no match debug";}
?>
4

1 回答 1

0
$query =  "select * from gamegroups where groupname LIKE '%" . mysql_real_escape_string($_GET['term']) . "%' LIMIT 1";

由于通配符,我假设您想要类似的结果?

你真正想要的是做一个相关性分数,并返回按相关性排序的结果,但这超出了这个问题的范围。

于 2012-07-08T13:33:33.053 回答