我正在尝试用 PHP 编写一个空间索引查询。但是我在为以下代码行编写查询时遇到了麻烦...
SET @p = CONCAT('Polygon((',lat1,'',lon1,',',lat1,'',lon2,',',lat2,'',lon2,',',lat2,'',lon1,',',lat1,'',lon1,'))');
我正在尝试用 PHP 编写一个空间索引查询。但是我在为以下代码行编写查询时遇到了麻烦...
SET @p = CONCAT('Polygon((',lat1,'',lon1,',',lat1,'',lon2,',',lat2,'',lon2,',',lat2,'',lon1,',',lat1,'',lon1,'))');
通常正确的顺序(除了一些奇怪的例外)是(long lat)
, not (lat long)
。还是您只是在 concat 之间缺少一个空格lat1 long1
?WKT 语法是:
GeomFromText('POLYGON(long1 lat1, long2 lat2, long3 lat3)')
坐标用空格隔开,点用逗号隔开。甚至可能存在区分大小写的问题,尽管规范不区分大小写,但最好使用ALL CAPS
,并且我得到了我认为与大小写有关的错误。
如果您在 php 中使用 mysql 扩展,此查询返回错误。如果使用mysql扩展,请使用mysqli扩展