Я использую функцию get_where()
в codeigniter и получаю ошибки mysql, в зависимости от того, что я установил предел и смещение, например, этот код,
$this->db->get_where('em_user', $whereArr, 30, 0)->num_rows()
возвращает ошибку MySQL, которая выглядит следующим образом,
Номер ошибки: 1064
У вас ошибка в синтаксисе SQL;
проверьте руководство, которое соответствует
ваша версия сервера MySQL для
правильный синтаксис для использования рядом с "ГДЕ
email
= 'your@emailaddress.com' И
password
= 'letmein' LIMIT 1 'в
строка 2
ВЫБРАТЬ * ГДЕ email
=
'your@emailaddress.com' И
password
= «letmein» LIMIT 1
Однако, если я запускаю этот код,
$this->db->get_where('em_user', $whereArr, 30, 30)->num_rows()
кажется, что он работает нормально, он работает нормально, он не возвращает результатов, но я не получаю ошибку (я предполагаю, что нет результатов, потому что есть смещение 30, и в моей таблице только 2 записи) .
SQL, который создает этот код, выглядит следующим образом,
SELECT * FROM (`em_user`) WHERE `email` = 'your@emailaddress.com' AND `password` = 'letmein' LIMIT 30, 30
Я не понимаю, как ограничение в 1 в конце запроса может вызвать столько горя, может кто-нибудь просветить меня, пожалуйста?