Господа не могу понять что не так.
$stmt = $this->db->prepare('
SELECT
*
FROM
`task`
ORDER BY
`id`
LIMIT
:limit
OFFSET
:offset
');
$limit = Config::TASK_PER_PAGE;
$pagination = new PaginationService();
$offset = $pagination->getOfset($total);
// Bind the query params
$stmt->bindParam(':limit', $limit, \PDO::PARAM_INT);
$stmt->bindParam(':offset', $offset, \PDO::PARAM_INT);
$data = $stmt->fetchAll();
var_dump($stmt->errorCode());
var_dump($offset);
var_dump($limit);
var_dump($data);
в data пустой массив. Однако если я руками возпроизвожу запрос в базу, то получаю нужный мне ответ. Т.е. не пустой массив. Что я делаю не так?
У меня тоже была такая проблема. Замените bindParam на bindValue и будет работать. Разница такая bindValue - биндим по значению входные параметры, а bindParam - биндим по ссылке входные параметры.
Дело в том, что к моменту выполнения fetchAll, то значение (переменная), что должна передаться по ссылке в bindParam, уже не существует по неизвестной мне причине. Может так интерпретатор php работает или что-то связанное с константой. Этого я не могу объяснить.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости