На самом деле это смущает.Измененная переменная XML меняется в cfquery? - Coldfusion и Bing
Я анализирую XML-геокод из Bing - и, похоже, я получаю переменную просто отлично. Однако, когда я использую эту переменную в своем Query - я не получаю значение переменной, но всю строку XML ?!
<cfset variables.BingXML = xmlparse(cfhttp.filecontent)>
<cfset variable.Bing.Lat = "#variables.BingXML.Response.ResourceSets.ResourceSet.Resources.Location.Point.Latitude#">
<cfset variable.Bing.Lon = "#variables.BingXML.Response.ResourceSets.ResourceSet.Resources.Location.Point.Longitude#">
<cfoutput>
#variable.Bing.Lat#
#variable.Bing.Lon#
</cfoutput>
Это возвращает правильные цифры:
38.4935302734375
-101.35395050048828
Но в cfquery
я получаю:
SELECT NATSS_Locations.*, NATSS_PaymentTypes.PTName, NATSS_PaymentTypes.PTImage, NATSS_PaymentTypeLinks.NPTLID,
NATSS_NationalAccounts.NNAImage, NATSS_NationalAccounts.NNAName, NATSS_LocNationalAcctLink.NLNALID,
((3963.191 * ACOS((SIN(PI() * '#variable.Bing.Lat#'/180) * SIN(PI() * NATSS_Locations.LocationLat/180)) + (COS(PI() * #variable.Bing.Lat# /180) * cos(PI() * NATSS_Locations.LocationLat/180) * COS(PI() * NATSS_Locations.LocationLong/180 - PI() * #variable.Bing.Lon#/180)))) * 1) as Distance
становится:
SELECT NATSS_Locations.*, NATSS_PaymentTypes.PTName, NATSS_PaymentTypes.PTImage, NATSS_PaymentTypeLinks.NPTLID,
NATSS_NationalAccounts.NNAImage, NATSS_NationalAccounts.NNAName, NATSS_LocNationalAcctLink.NLNALID,
((3963.191 * ACOS((SIN(PI() * '<?xml version="1.0" encoding="UTF-8"?><Latitude xmlns="http://schemas.microsoft.com/search/local/ws/rest/v1">38.4935302734375</Latitude>'/180) * SIN(PI() * NATSS_Locations.LocationLat/180)) + (COS(PI() * <?xml version="1.0" encoding="UTF-8"?><Latitude xmlns="http://schemas.microsoft.com/search/local/ws/rest/v1">38.4935302734375</Latitude> /180) * cos(PI() * NATSS_Locations.LocationLat/180) * COS(PI() * NATSS_Locations.LocationLong/180 - PI() * <?xml version="1.0" encoding="UTF-8"?><Longitude xmlns="http://schemas.microsoft.com/search/local/ws/rest/v1">-101.35395050048828</Longitude>/180)))) * 1) as Distance
Кто-нибудь есть решение или идею о это?
Ничего общего с оригинальным вопросом, но не забывайте использовать 'cfqueryparam' для защиты от SQL инъекций, среди прочего , – Leigh