Обходное решение для проблемы PHP5 PDO rowCount MySQL

Используйте приведенную ниже аннотацию вверху вашего файла:

@file:Suppress("PARAMETER_NAME_CHANGED_ON_OVERRIDE")

Или настройте параметры снизу ( Предпочтения -> Редактор -> [ 1111] Проверки ), набрав ключевые слова: Parameter name differs from в поле поиска:

enter image description here

Выберите Серьезность - Без выделения, исправьте только в All Scope .

16
задан Steven Surowiec 20 January 2009 в 03:15
поделиться

2 ответа

Вы можете проблема a SELECT FOUND_ROWS() запросите прямо после оригинала SELECT запрос для получения количества строки.

$pdo->query("SELECT * FROM users");
$foundRows = $pdo->query("SELECT FOUND_ROWS()")->fetchColumn();

Документы MySQL См. также: о FOUND_ROWS ()

27
ответ дан 30 November 2019 в 21:20
поделиться

Для тех из вас, кто использует хранимые процедуры MySQL, это решение не совсем осуществимо. Я бы предложил вам сделать так: пусть ваша хранимая процедура создаст два набора рядов. Первый будет содержать одну строку и один столбец, содержащий количество записей. Второй будет набором записей, который вы будете использовать для получения этого количества строк.

Количество неограниченных строк может быть SELECT COUNT(*) с точно таким же предложением WHERE, как и второй набор строк, без предписаний LIMIT/OFFSET.

Другой идеей может быть создание временной таблицы. Используйте оператор SELECT для заполнения временной таблицы. Затем вы можете использовать SELECT COUNT(*) FROM tmpTable для первого набора строк и SELECT * FROM tmpTable для второго.

1
ответ дан 30 November 2019 в 21:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: