Pregunta

Aquí está mi consulta:

select * 
  from (select *, 3956 * 2 * ASIN(SQRT(POWER(SIN(RADIANS(45.5200077 - lat)/ 2), 2) + COS(RADIANS(45.5200077)) * COS(RADIANS(lat)) * POWER(SIN(RADIANS(-122.6942014 - lng)/2),2))) AS distance 
          from stops 
      order by distance, route asc) as p 
group by route, dir 
order by distance asc 
   limit 10

Esta bien trabaja en la línea de comandos y en phpMyAdmin. Estoy usando Dbslayer para conectarse a MySQL a través de mi backend JavaScript, y la petición se devolver un error de 1064.

Esta es la cadena de solicitud DBSlayer codificado:

  

http: // localhost: 9090 / db {% 22SQL% 22:% 22select% 20 * % 20from% 20% 28select% 20 *,% 203 956% 20 *% 202% 20 *% 20ASIN% 28SQRT% 28POWER% 28SIN% 28RADIANS% 2845.5200077% 20-% 20lat% 29 /% 202% 29,% 202% 29% 20 +% 20COS% 28RADIANS% 2845.5200077% 29% 29% 20% * 20COS% 28RADIANS% 28lat% 29% 29% 20% * 20POWER% 28SIN% 28RADIANS% 28-122,6942014% 20-% 20lng% 29/2% 29, 2% 29% 29% 29% 20AS% 20distance% 20from% 20% 60stops% 60% 20order% 20by% 20% 60distance% 60,% 20% 60route% 60% 20asc% 29% 20AS% 20p% 20group% 20by% 20 % 60route% 60,% 20% 60dir% 60% 20order% 20by% 20% 60distance% 60% 20asc% 20limit% 2010% 22}

Y la respuesta:

  

{ "mysql_errno": 1064, "mysql_error": "Usted tiene un error en su sintaxis SQL, compruebe el manual que corresponde a su versión del servidor MySQL para la sintaxis correcta a usar cerca '(RADIANES (45.5200077)) * cos (RADIANS (lat)) * POWER (SIN (radianes (-122,6942014 - lng' en la línea 1" , "servidor": "para ir a"}

Gracias!

¿Fue útil?

Solución

Una posible fuente inmediata de su problema es la codificación URL. Veo el operador de suma es transmitida como está. Eso es peligroso, porque + utiliza para referirse a espacio en la codificación tradicional. http://www.faqs.org/rfcs/rfc1738

Otros consejos

...distance%60%20asc%20...

¿Cómo estás escapando del sql? Parece que se está perdiendo la "ruta", lo que lo anterior se lee "distancia, asc". Parece que va cuesta abajo desde allí.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top