0

テーブルに保存されている lng と lat に基づいて、距離で結果をフィルタリングするクエリがあります。

SELECT *, (3960 * acos( cos( radians( 51.8026795 ) ) * cos( radians( advert.lat ) ) * cos( radians( advert.lng ) - radians( -0.7201327 ) ) + 
sin( radians( 51.8026795 ) ) * sin( radians( advert.lat ) ) ) ) AS Distance 
FROM advert 
INNER JOIN photo ON advert.id = photo.advertid 
WHERE photo.main = 'True' AND advert.status<>0 
ORDER BY advert.price ASC

sqlsrvこれは SQL Server Management Studio で正常に機能し、正しい値を返しますが、ドライバーを使用して PHP でまったく同じクエリを使用すると、次のようになります。

クエリの実行中にエラーが発生しました。配列 ( [0] => 配列 ( [0] => 42000 [SQLSTATE] => 42000 1 => 156 [コード] => 156 [2] => [Microsoft][SQL Server Native Client 10.0][SQL Server]キーワード 'AND' 付近の構文が正しくありません。[メッセージ] => [Microsoft][SQL Server Native Client 10.0][SQL Server]キーワード 'AND' 付近の構文が正しくありません。) )

本当に簡単に修正できましたか?!

検索をクリックしてから郵便番号を入力すると、 DeveloperDream.comで問題を確認できます。

前もって感謝します

4

1 に答える 1

0

それを理解しました-クエリの最後に誤って追加されたがエコーされていない別の検索用語がありました、最初のインスタンスでこれを提案してくれたマイケルに感謝します

于 2012-05-09T11:28:31.680 に答える