dle-modules / DLE-BlockPro

Модуль вывода новостей для DLE
http://bp.pafnuty.name/
MIT License
13 stars 14 forks source link

Fatal error #181

Closed axsels closed 3 years ago

axsels commented 3 years ago

Описание ошибки:

Fatal error: Uncaught exception 'Exception' with message 'SafeMySQL: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'NULL' at line 1. Full query: [SELECT p.id, p.autor, p.date, p.short_story, p.full_story, p.xfields, p.title, p.category, p.alt_name, p.allow_comm, p.comm_num, p.fixed, p.allow_main, p.symbol, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.related_ids, e.view_edit, e.editdate, e.editor, e.reason FROM dle_post p LEFT JOIN dle_post_extras e ON (p.id=e.news_id) WHERE approve AND p.date < "2020-07-07 19:55:26" ORDER BY fixed ASC LIMIT 0, NULL]' in /var/www/www-root/data/www/domen.net/engine/modules/base/core/SafeMySQL.php:632 Stack trace: #0 /var/www/www-root/data/www/domen.net/engine/modules/base/core/SafeMySQL.php(492): SafeMySQL->error('You have an err...') #1 /var/www/www-root/data/www/domen.net/engine/modules/base/core/SafeMySQL.php(291): SafeMySQL->rawQuery('SELECT p.id, p....') # in /var/www/www-root/data/www/domen.net/engine/modules/base/core/SafeMySQL.php on line 632

Страница полностью недоступна, не могу показать логи итп. Белый экран с ошибкой выше написанной

Строка подключения с включенным параметром showstat:

Статистика генерации:

Содержимое блока в красной рамке в конце блока с новостями



## Код используемого шаблона:
pafnuty commented 3 years ago

@axsels из ошибки видно, что у вас используется mariaDB вместо MySQL. Попробуйте использовать MySQL. Ошибка из-за того, что ORDER BY fixed ASC LIMIT 0, NULL <- тут должна быть цифра лимита. Возможно в строке подключения некорректное значение limit

axsels commented 3 years ago

@axsels из ошибки видно, что у вас используется mariaDB вместо MySQL. Попробуйте использовать MySQL. Ошибка из-за того, что ORDER BY fixed ASC LIMIT 0, NULL <- тут должна быть цифра лимита. Возможно в строке подключения некорректное значение limit

подключаю вот так: {include file="engine/modules/base/blockpro.php?related=this&saveRelated=y&limit=10&nocache=y"}

axsels commented 3 years ago

Сменил на сервер MysQL теперь ошибка:

Fatal error: Uncaught exception 'Exception' with message 'SafeMySQL: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NULL' at line 1. Full query: [SELECT p.id, p.autor, p.date, p.short_story, p.full_story, p.xfields, p.title, p.category, p.alt_name, p.allow_comm, p.comm_num, p.fixed, p.allow_main, p.symbol, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.related_ids, e.view_edit, e.editdate, e.editor, e.reason FROMdle_postp LEFT JOINdle_post_extrase ON (p.id=e.news_id) WHERE approve AND p.date < "2020-07-09 01:38:09" ORDER BY fixed ASC LIMIT 0, NULL]' in /var/www/www-root/data/www/domen.net/engine/modules/base/core/SafeMySQL.php:632 Stack trace: #0 /var/www/www-root/data/www/domen.nett/engine/modules/base/core/SafeMySQL.php(492): SafeMySQL->error('You have an err...') #1 /var/www/www-root/data/www/domen.net/engine/modules/base/core/SafeMySQL.php(291): SafeMySQL->rawQuery('SELECT p.id, p....') #2 in /var/www/www-root/data/www/domen.net/engine/modules/base/core/SafeMySQL.php on line 632

pafnuty commented 3 years ago

Попробуйте так:

{include file="engine/modules/base/blockpro.php?related=this&saveRelated=y&nocache=y"}

На лицо явно ошибка в передаче данных в парсер SafeMySQL т.к. NULL возвращается вот в этой строке https://github.com/dle-modules/DLE-BlockPro/blob/ea477c3cc68f2b49b115de89090aafa6245a48a0/engine/modules/base/core/SafeMySQL.php#L549 Возможно проблема с кодировкой или ещё чем то в шаблоне.

axsels commented 3 years ago

Походу это где то мой косяк. Решил методом исключения искать ошибку: Чистый DLE>Шаблон Дефолтный> и дошел до заново установить BlockPro. Скачал архив, перезалил файлы с заменой, и ошибка пропала.

Но, в этот раз я качал архив: DLE-BlockPro 6.0.3.zip перед этим, я скачивал архив, самый первый 439кб blockpro_plugin.zip

Может они разные? В новом архиве я заметил новые файлы, которые лежат в корне сайта. PS извиняюсь что ранее не проверил все возможные варианты )