如何解决问题-Yii框架

时间:2018-09-06 10:38:21

标签: php mysqli yii2 cpanel whm

使用yii框架运行查询时,出现以下错误。我发现自己无法解决此问题,如果您对此有错,可以帮助您恢复并解决它。

  

CDbCommand无法执行以下SQL语句:SQLSTATE [42000]:语法错误或访问冲突:1064您的SQL语法有错误;请参见表11。检查与您的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   在项目上加入10yoyo_user u的用户。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   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

谢谢, 索拉布

1 个答案:

答案 0 :(得分: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

感谢和问候, 索拉布