【发布时间】:2015-05-27 17:09:26
【问题描述】:
我有这个在 phpMyAdmin 中工作的查询
SELECT *,
( 6371 * acos ( cos ( radians(21.161908) )
* cos( radians( `latitude` ) )
* cos( radians( `longitude` ) - radians(-86.85152790000001) )
+ sin ( radians(21.161908) )
* sin( radians( `latitude` ) ) ) ) AS distance
FROM _results
HAVING distance < 30
ORDER BY distance
LIMIT 0 , 20
我正在尝试在 CodeIgniter 中执行此操作:
$this->select("* , ( 6371 * acos ( cos ( radians(21.161908) ) * cos( radians(latitude) ) * cos( radians( longitude ) - radians(-86.85152790000001) ) + sin ( radians(21.161908) ) * sin( radians( latitude ) ) ) ) AS distance ");
$this->db->having('distance < 30');
$this->db->order_by('distance');
$this->db->limit(20,0);
但是有了这个我得到这个错误:
错误号:1064 您的 SQL 语法有错误... '*, (6371 * acos ( cos ( radians(21.161908) ) * cos( radians(latitude) )
有人知道这个错误吗?
注意:在此之前我实现了一个先前的查询。
【问题讨论】:
-
“在此之前我实现了一个先前的查询。” - 你能详细说明一下你的意思吗?
标签: php mysql codeigniter