Как решить проблему - Yii Framework - PullRequest
0 голосов
/ 06 сентября 2018

Я получаю следующую ошибку при выполнении запроса с использованием платформы yii. Я не могу решить эту проблему, пожалуйста, помогите мне восстановить и устранить ее, если я поступаю неправильно.

CDbCommand не удалось выполнить инструкцию SQL: SQLSTATE [42000]: синтаксическая ошибка или нарушение доступа: 1064 В синтаксисе SQL есть ошибка; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с '), 2) + POW (69.1 * (- items.longitude) * COS (items.latitude / 57.3), 2)), 2) как d 'в строке 1. Выполнен SQL-оператор: SELECT items. *, round (SQRT (POW (69.1 * (items.latitude -), 2) + POW (69.1 * (- items.longitude) * COS (items. широта / 57,3), 2)), 2) как расстояние, u.id как userId, u.first_name, u.last_name ОТ 10yoyo_shared_item items JOIN 10yoyo_user u ON items.user_id = u.id WHERE items.home_page_display_status = "Y" AND items.status = "active" AND items.category_id = "62" AND u.status = "active" Расстояние ХАВИНГА <= 10000 ЗАКАЗАТЬ ПО <code>shared_time DESC LIMIT 4

Выполнено утверждение:

SELECT items.*,round(SQRT( POW(69.1 * (items.latitude - ), 2) + POW(69.1 * (- items.longitude) * COS(items.latitude / 57.3), 2)),2) as distance,u.id as userId,u.first_name,u.last_name
FROM `10yoyo_shared_item` `items`
JOIN `10yoyo_user` `u` ON items.user_id=u.id
WHERE items.home_page_display_status="Y" AND items.status="active" AND items.category_id = "62" AND u.status="active" HAVING distance <=10000
ORDER BY `shared_time` DESC LIMIT 4

Спасибо, Sorabh

1 Ответ

0 голосов
/ 07 сентября 2018

Наконец я исправил свою ошибку, заменив функцию sqrt следующими кодами, как показано ниже:

      DEGREES(ACOS(COS(RADIANS(items.latitude))
     * COS(RADIANS("'.$latitude.'"))
     * COS(RADIANS(items.longitude - "'.$longitude.'"))
     + SIN(RADIANS(items.latitude))
     * SIN(RADIANS("'.$latitude.'")))) AS distance

Спасибо и С уважением, Sorabh

...