如何解决问题 - Yii框架

问题描述 投票:0回答:1

使用yii框架运行查询时,我收到以下错误。我发现自己无法解决这个问题,请你帮忙恢复并解决它我做错的地方。

CDbCommand无法执行SQL语句:SQLSTATE [42000]:语法错误或访问冲突:1064您的SQL语法中有错误;检查与MySQL服务器版本对应的手册,以便在')附近使用正确的语法,2)+ POW(69.1 *( - items.longitude)* COS(items.latitude / 57.3),2)),2)as d'在第1行。执行的SQL语句是:SELECT items。*,round(SQRT(POW(69.1 *(items.latitude - ),2)+ POW(69.1 *( - items.longitude)* COS(items。 latitude / 57.3),2)),2)作为距离,u.id作为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

执行的声明是:

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

php mysqli yii2 cpanel whm
1个回答
0
投票

最后我通过使用以下代码替换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

© www.soinside.com 2019 - 2024. All rights reserved.