Frage

Hier ist meine Abfrage:

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

Dies funktioniert in der Befehlszeile und in phpMyAdmin. Ich verwende Dbslayer MySQL über mein JavaScript-Backend zu verbinden, und die Anforderung Zurückgeben eines 1064-Fehler.

Hier ist die codierte DBSlayer Anfrage string:

  

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 60% 60route%,% 20% 60dir% 60% 20order% 20by% 20% 60distance% 60% 20asc% 20limit% 2010% 22}

Und die Antwort:

  

{ "mysql_errno": 1064, "mysql_error": „Sie haben einen Fehler in Ihrer SQL-Syntax, kontrolliert das Handbuch, dass entspricht Ihre MySQL-Server-Version für die richtige Syntax in der Nähe verwenden‚(RADIANS (45,5200077)) * COS (RADIANS (lat)) * POWER (SIN (RADIANS (-122,6942014 - lng‘at line 1" , "SERVER": "trimet"}

Danke!

War es hilfreich?

Lösung

Eine mögliche unmittelbare Ursache des Problems ist die URL-Codierung. Ich sehe der Plus-Operator übertragen wird, wie sie ist. Das ist gefährlich, weil + zu bedeuten, die verwendet Raum in der traditionellen Codierung. http://www.faqs.org/rfcs/rfc1738

Andere Tipps

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

Wie entkommen Sie den SQL? Sieht aus wie Sie fehlt die „Route“, so dass die oben liest „Abstand, asc“. Sieht aus wie es geht bergab.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top