Почему выдает ошибку при таком запросе?
<?php
$num = 10;
$start = 1;
$sql = "SELECT * FROM `users_for_events` LIMIT ?, ? ";
$data = array($start, $num);
$stmt = $this->getCon()->prepare($sql);
$stmt->execute($data);
$stmt->fetchAll();
var_dump($stmt->fetchAll());
Ошибка вот такого плана:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1327 Undeclared variable: '1'' in
В режиме эмуляции все переданные через execute() переменные PDO подставляет в запрос как строки, и в итоге запрос получается
LIMIT '10', '1'
что вызывает ошибку. Самым простым решением будет отключить режим эмуляции сразу после соединения,
$conn->setAttribute( PDO::ATTR_EMULATE_PREPARES, false );
и после этого данный код сразу заработает без ошибок.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть такой код функции форматирования url, полученный из поля ввода
Есть 4 класса: Db, Core, User, ProfileProfile наседует User, User => Core, а Core наследует Db
Делаю по мануалу http://symfonycom/doc/current/cookbook/doctrine/event_listeners_subscribers