简体   繁体   English

sqlsrv php驱动程序上的SQL Server 2008 ORDER BY错误

[英]SQL Server 2008 ORDER BY Error on sqlsrv php driver

I have a query to filter results by distance based on lng and lat stored in table: 我有一个查询,用于根据存储在表中的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

This works fine in SQL Server Management Studio and returns the right values, however when I use the exact same query in PHP using sqlsrv driver I get: 这在SQL Server Management Studio中可以正常工作并返回正确的值,但是当我在使用sqlsrv驱动程序的PHP中使用完全相同的查询时,我得到:

Error in executing query. 执行查询时出错。 Array ( [0] => Array ( [0] => 42000 [SQLSTATE] => 42000 1 => 156 [code] => 156 [2] => [Microsoft][SQL Server Native Client 10.0][SQL Server]Incorrect syntax near the keyword 'AND'. [message] => [Microsoft][SQL Server Native Client 10.0][SQL Server]Incorrect syntax near the keyword 'AND'. ) ) 数组([0] =>数组([0] => 42000 [SQLSTATE] => 42000 1 => 156 [代码] => 156 [2] => [Microsoft] [SQL Server Native Client 10.0] [SQL Server]关键字'AND'附近的语法不正确。[message] => [Microsoft] [SQL Server Native Client 10.0] [SQL Server]关键字'AND'附近的语法不正确。

Have I done something really simple to fix?! 我做过一些非常简单的事情了吗?

You can see the problem at DeveloperDream.com by clicking search then entering a postcode 通过单击搜索然后输入邮政编码,可以在DeveloperDream.com上看到问题。

Thanks in advance 提前致谢

弄清楚了-错误地将另一个搜索词添加到查询的末尾,但没有回显,谢谢michael在第一时间提出的建议

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM