SELECT `p`.`name`, `f`.*
FROM `players` `p`, `folks` `f`
WHERE `p`.`id` = `f`.`guid`
AND `f`.`deleted` = 0
AND `first` = {$id}
AND `text` LIKE ?
LIMIT 10
正如您所看到的,我在这里使用LIMIT
条件。我需要计算在没有LIMIT cond的情况下匹配的所有结果。
我尝试过使用:FOUND_ROWS();
但是我在使用它时遇到了问题,因为它不会在任何地方返回“所有”结果。
答案 0 :(得分:3)
以下应该做:) 重要的是SQL_CALC_FOUND_ROWS,否则FOUND_ROWS()将无效!
SELECT SQL_CALC_FOUND_ROWS `p`.`name`, `f`.*
FROM `players` `p`, `folks` `f`
WHERE `p`.`id` = `f`.`guid`
AND `f`.`deleted` = 0
AND `first` = {$id}
AND `text` LIKE ?
LIMIT 10
SELECT FOUND_ROWS();