2017-06-17 23 views
0

型號:這個地圖查詢有什麼問題?我提示以下錯誤:

function mapdisplay($lat1,$lng1,$cid2) 
{ 
    $this->db->select("cname,frmid,frno,(6371 * acos(cos(radians('$lat1')) * cos(radians(lat)) * cos(radians(longi) - radians('$lng1')) + sin(radians('$lat1')) * sin(radians(lat))))AS distance)"); 
    $this->db->from("tablefir"); 
    $this->db->where("frmid NOT IN ($cid2)"); 
    $this->db->having("distance <= 1"); 
    $this->db->order_by("distance LIMIT 20"); 
    $query = $this->db->get(); 
    return $query->result(); 
} 

錯誤編號:1064

您的SQL語法錯誤;檢查 'FROM(tablefir)WHERE frmid NOT IN(5,10),具有 distance < = 1 ORDER BY)' 的行 對應於您MariaDB的服務器版本正確的語法使用 接近手動1

SELECT `crimehead` 
    ,`frmid` 
    ,`firno` 
    ,(6371 * acos(cos(radians('15.859151')) * cos(radians(lat)) 
      * cos(radians(longi) - radians('74.513124')) + sin(radians('15.859151')) 
      * sin(radians(lat)))) AS distance) 
FROM (`tablefir`) 
WHERE `frmid` NOT IN (
     5 
     ,10 
     ) 
HAVING `distance` <= 1 
ORDER BY `distance` LIMIT 20 
+0

爲什麼標籤JavaScript和Ajax更改查詢?任何特定的原因? –

+0

投票結束,因爲這個問題是由於無法再現的問題或簡單的印刷錯誤造成的。雖然類似的問題可能在這裏討論,但這個問題的解決方式不太可能有助於未來的讀者。這通常可以通過識別和密切檢查發佈之前重現問題所需的最短程序來避免._ – mplungjan

回答

1

你給出一個額外結束括號,這個

SELECT crimehead 
    ,frmid 
    ,firno 
    ,(6371 * acos(cos(radians('15.859151')) * cos(radians(lat)) 
      * cos(radians(longi) - radians('74.513124')) + sin(radians('15.859151')) 
      * sin(radians(lat)))) AS distance 
FROM (tablefir) 
WHERE frmid NOT IN (
     5 
     ,10 
     ) 
HAVING distance <= 1 
ORDER BY distance LIMIT 20; 
+0

您也可以投票錯別字關閉此 – mplungjan

+0

@mplungjan是啊您是對的 –

+0

謝謝您的答案。 – Nisha