2011-04-11 4 views
1

나는 PHP에서 실행해야하는 다음과 같은 쿼리를 가지고있다. 문제는 내가 메인 쿼리의 실행하기 전에 설정 쿼리가 필요합니다. 세트 쿼리php에서 mysql 쿼리 양식

SET @center = GeomFromText('POINT(33.3666667 35.1666667)'); 
SET @radius = 1; 
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, '))' 
); 

하고 주요 질의는 어떻게 PHP에서 이것을 실행할 수

SELECT 
users_profile.id, 
GLength(LineString(users_profile.location,GeomFromText('POINT(33.3666667 35.1666667)'))) * 100 as distance 

FROM 
users_profile 

WHERE 
Intersects(users_profile.location, GeomFromText(@bbox)) 
AND (GLength(LineString(users_profile.location,GeomFromText('POINT(33.3666667 35.1666667)'))) * 100) < 10 

ORDER BY distance 

입니까? 나는 4 가지 다른 쿼리로 할 수도없고 1로 할 수도 없다.

답변

0

그런 첫 번째 쿼리를 실행할 수 있다고 생각하지 않는다. 하나의 저장 프로 시저로 작성한 다음 PHP에서 호출 해보십시오.

+0

나는 많은 것으로 생각했다 – mbouclas

0

도움이 될만한 뭔가를 here 발견했습니다. 나는 YMMV를 사용하거나 테스트하지 않았습니다.

+0

결국 나는 mysqli 방식으로 갔다. mysqli가 여러 쿼리를 실행하는 방식 때문에 이상적이지 않다. 이상적인 것은 4 개의 질의를 1로 개조하는 것이지만 모든 테스트는 비참하게 실패했습니다. – mbouclas