如何使用mysql和sphinx获取结果总数?
首先,我尝试使用PDO语句,它会返回一个数字,但不准确。
$array = $pdo_sphinx->prepare("select * from `my_index` where MATCH ('@name ($search)') limit $start, $limit");
$array->execute();
$query = $pdo_sphinx->prepare("select COUNT(*) from `my_index` where MATCH ('@name ($search)')");
$query->execute();
$total = $query->fetchColumn();
然后我看到如果您在查询后运行它,可以从total_found
获取SHOW META
$array = $sphinx->Query("select * from `my_index` where MATCH ('@name ($search)') limit $start, $limit; SHOW META");
$total = $array['total_found'];
$ total返回0,应该是9.如何从上面的查询中获得正确的total_found
?有没有办法用PDO语句执行此操作?我需要正确的分页结果
答案 0 :(得分:1)
注意当你添加'SHOW META'时,它会使它成为一个多查询。有两个单独的查询,每个查询都有自己的结果集。
(是的,使用COUNT(*)可能不准确,因为分组可能有些近似)