Php codeigniter模型中的误差较小

Php codeigniter模型中的误差较小,php,codeigniter,Php,Codeigniter,代码在$this->db->having'distance行有一些错误,您需要使用它 $this->db->having'distance那么错误是什么? function get_nearby($lat, $long, $option, $top, $range) { if($option == "km") $this->db->select("*, ROUND(((acos(sin((".$lat." * pi()/180)) * sin((marker

代码在$this->db->having'distance行有一些错误,您需要使用它
$this->db->having'distance那么错误是什么?
function get_nearby($lat, $long, $option, $top, $range)
{

    if($option == "km")
        $this->db->select("*, ROUND(((acos(sin((".$lat." * pi()/180)) * sin((markers_lat*pi()/180))+cos((".$lat." * pi()/180)) * cos((markers_lat*pi()/180)) * cos(((".$long." - markers_lng) *pi()/180))))*180/pi())*60*1.1515*1.609344) as distance");
    else
        $this->db->select("*, ROUND(((acos(sin((".$lat." * pi()/180)) * sin((markers_lat*pi()/180))+cos((".$lat." * pi()/180)) * cos((markers_lat*pi()/180)) * cos(((".$long." - markers_lng)* pi()/180))))*180/pi())*60*1.1515) as distance");

    $this->db->from('markers');
    $having='distance <='+$range;
    // $this->db->having('distance <' => $range);
    $test =20;
    $this->db->having('distance <=' => $test);
    $this->db->order_by('distance', 'asc');
     $this->db->limit($top);
    $query = $this->db->get();
    $result = $query->result_array();

    return $result;
}