2017-06-17 4 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構文でエラーが発生しています。ライン1

で 'BY frmid NOT INは、(5,10) distance < = 1 ORDERをHAVING( tablefir)FROM') は 近くを使用する権利構文については、ご使用のMariaDBサーバのバージョンに対応していること取扱説明書をご確認ください
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

あなたは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

関連する問題