【发布时间】:2011-08-26 19:23:29
【问题描述】:
我正在使用空间扩展名使用 mysql 进行地理搜索。因为我做了一个存储过程(当我像这样在 mysql 的命令行上运行时,它工作得非常好
mysql> 调用 test2(GeomFromText('POINT(-0.93961472 43.52843475)'),0.6 );
DROP PROCEDURE `test2`//
CREATE DEFINER=`root`@`localhost` PROCEDURE `test2`(IN center2 point,IN dist int)
BEGIN
SET @center = center2;
SET @radius = dist;
SET @bbox = CONCAT('POLYGON((',
X(@center) - @radius, ' ', Y(@center) - @radius, ',',
X(@center) + @radius, ' ', Y(@center) - @radius, ',',
X(@center) + @radius, ' ', Y(@center) + @radius, ',',
X(@center) - @radius, ' ', Y(@center) + @radius, ',',
X(@center) - @radius, ' ', Y(@center) - @radius, '))'
);
SELECT professionnels.*, AsText(coord)
FROM professionnels
WHERE Intersects( coord, GeomFromText(@bbox) )
AND SQRT(POW( ABS( X(coord) - X(@center)), 2) + POW( ABS(Y(coord) - Y(@center)), 2 )) < @radius limit 20;
end
但问题是我需要从 php 调用它。当我这样做时,会返回一个错误,表示
PROCEDURE test2 无法返回结果 在给定的上下文中设置
那么..我怎样才能使用转身返回一组数据?
谢谢
【问题讨论】:
标签: php mysql geolocation coordinates spatial