@sasha_pe

Как найти ошибку sql из лога MODX?

Постоянно выходит ошибка про синтаксис SQL. Не могу понять где ее искать. Подскажете как ее поймать?
Пробовал искать переходя по ссылкам на сайте и делая действия в админке. Так и не нашел. Ошибка появляется на продакшене, а на копии не получается повторить.

[2019-12-19 18:22:06] (ERROR @ /home/site.ru/core/xpdo/om/xpdoobject.class.php : 240) Error 42000 executing statement:
Array
(
[0] => 42000
[1] => 1064
[2] => 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 ') DESC' at line 1
)


upd. Кто столкнется с такой ситуацией, можно исправить эту строку в xpdoobject.class.php и добавить вывод полного sql запроса.
$xpdo->log(xPDO::LOG_LEVEL_ERROR, 'Error ' . $criteria->stmt->errorCode() . " executing statement: \n" . print_r($errorInfo, true) . 'SQL' . $criteria->toSQL());
  • Вопрос задан
  • 430 просмотров
Решения вопроса 1
erge
@erge
Примус починяю
Откройте файл /home/site.ru/core/xpdo/om/xpdoobject.class.php строка 240
и посмотрите что там за запрос такой, который ошибку выдает.
хотя это наврено PDO шный класс? хм... ну хотя бы посмотреть какой там объект/метод вызывается
и в коде искать вызов этого места.

PS: скопируйте с продакшена базу! тогда возможно скорее всего и получится повторить.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы