Probleme beim Einbinden einer URL variable

Alexnder Ruff

Mitglied
Moin Moin Forum,

Ich habe ein Problem mit einer MySql Abfrage.

Hier mal der Code:
PHP:
$lat = $_POST[lat];
$lon = $_POST[long];
$id = $_POST[id];

"SELECT 
    zc_zip, 
    zc_location_name,
    ACOS(
         SIN(RADIANS(zc_lat)) * SIN(RADIANS(".$lat.")) 
         + COS(RADIANS(zc_lat)) * COS(RADIANS(".$lat.")) * COS(RADIANS(zc_lon)
         - RADIANS(".$lon."))
         ) * 6380 AS distance
FROM zip_coordinates
WHERE ACOS(
         SIN(RADIANS(zc_lat)) * SIN(RADIANS(".$lat.")) 
         + COS(RADIANS(zc_lat)) * COS(RADIANS(".$lat.")) * COS(RADIANS(zc_lon)
         - RADIANS(".$lon."))
         ) * 6380 < 10
  AND zc_id <> ".$id."
ORDER BY distance;

Als ergebniss kommt denn: Incorrect parameter count in the call to native function 'RADIANS'

Kann mir jemand helfen
 
Hast du mal geprüft, welcher Wert in der tatsächlichen Abfrage verwendet wird? Vielleicht ist ja einer der Werte leer, sodass die Funktion ohne Parameter aufgerufen wird.
 
Moin Moin,

alo wenn ich die Werte in die Abfrage eingebe funktioniert die Abfrage !

Auch wenn ich die Variablen folgender maßen ändere funktioniert es

$lat = "53.3333";
$lon = "9.86667";
$id = "32915";

Ich komme leider nicht weiter !
 
Hi,

na spätestens jetzt müsste Dir doch klar sein, dass die $_POST-Variablen leer sind. Im Titel sprichst Du übrigens von URL-Parametern, die würdest Du im $_GET-Array finden, nicht in $_POST (Formulardaten).

Übrigens solltest Du Benutzerdaten nicht ungeprüft in Datenbankabfragen stecken, Stichwort SQL-Injection.

LG
 
Zurück