Насколько я знаю, то, что следует LIMIT
, должно быть целочисленным литералом.LIMIT
даже не примет что-то вроде 6/2
, что будет целочисленным литералом.Я рекомендую просто прочитать всю таблицу, а затем только обработать, сколько строк вам нужно в PHP.
$row_cnt = $result->num_rows;
$rs_size = $row_cnt - ($row_cnt % 20);
while ($rs_size > 0 && $row = mysqli_fetch_assoc($result)) {
// process a row
--$rs_size;
}
Вышеупомянутый цикл while
должен завершиться после считывания наибольшего числа, кратного 20 из доступных.Этот подход не слишком расточителен, поскольку в большинстве случаев вы читали бы из 19 дополнительных строк из MySQL, которые в конечном итоге не использовались бы.