【问题标题】:How to resolve the issue - Yii framework如何解决问题 - Yii 框架
【发布时间】:2019-02-11 14:33:07
【问题描述】:

使用 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_itemitems 加入10yoyo_useru 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 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

谢谢, 索拉布

【问题讨论】:

  • 显示您的代码。
  • 代码在吗?它的格式错误,但它就在那里。
  • 这只是异常,不是抛出它的代码。
  • 您查询的,2 超出了第一个SQRT 函数的范围。由于错字而投票关闭。尝试格式化这个查询,很快就会弹出错误。

标签: php mysqli yii2 cpanel whm


【解决方案1】:

最后我通过用以下代码替换 sqrt 函数解决了我的错误:

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

感谢和问候, 索拉布

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-13
    • 2017-05-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多