0

我只是在测试从 Google Developers 获取的 Haversine 公式:https ://developers.google.com/maps/articles/phpsqlsearch_v3#findnearsql

我已将代码段放入我的代码中,它给了我一个 SQL 错误。

这是我在 CakePHP 中的模型:

<?php

App::uses('AppModel', 'Model');
class LocationModel extends Model {

    public $name = 'Location';

    public function getNearest()
    {
        $this->Location->query("SELECT id, ( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( long ) - radians(-122) ) + sin( radians(37) ) * sin( radians( lat ) ) ) ) AS distance FROM locations HAVING distance < 25 ORDER BY distance LIMIT 0 , 20";);
    }   
}

我从字面上复制并粘贴了代码并将其放入查询函数中。我不认为这与我的数据库或其他任何东西有关,而是 SQL 中的语法错误,但我看不到它。它有什么问题?

这是错误:

Error: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'getNearest' at line 1
4

0 回答 0