2016-03-23 3 views
0

Как получить общее количество результатов с помощью mysql и sphinx?Получить общее количество результатов с помощью Sphinx MySQL

Сначала я попытался с помощью инструкции 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']; 

$ общей возвращается 0, когда оно должно быть 9. Как мне получить правильную total_found от запрос выше? Есть ли способ сделать это с помощью инструкции PDO? Мне нужен правильный результат для подкачки

ответ

1

Обратите внимание, что при добавлении «ПОКАЖИТЕ МЕТА» это делает его несколькими запросами. Существует два отдельных запроса, каждый из которых имеет свой собственный набор результатов.

(да, используя COUNT (*) могут быть неточными, так как группировка может быть несколько приблизительная)