Я использую SQL_CALC_FOUND_ROWS
в инструкции Mysql SELECT, чтобы получить количество строк, которые мой SELECT вернет без предложения LIMIT.
$sql = new mysqli('localhost', 'root', '');
$sql->select_db('mysql');
$s1 = $sql->query('select SQL_CALC_FOUND_ROWS * from db limit 0, 3');
$s2 = $sql->query('select FOUND_ROWS()');
if($row = $s2->fetch_row()) printf('%d/%d', $s1->num_rows, $row[0]);
На моей станции WinXP dev она возвращается 3/0 каждый раз в течение нескольких недель. Когда я использую другой сервер MySQL с моей станции, он тоже возвращает 3/0. На другом ПК тот же код работает нормально и возвращает правильный номер (например, 3/17, если у меня есть 17 записей в таблице mysql.db). Каждый ПК XP имеет одну и ту же версию PHP/Mysql, и в прошлом он работал отлично на моем ПК Используя Mysql Query Browser с теми же SQL-запросами, я получаю правильный номер.
Может ли кто-нибудь дать мне идею решения, не переустанавливая все?
Извините, мой предыдущий запрос был ужасно неясным.