Hallo zusammen,
ich bin neu in mySQL und PHP und versuche gerade einen Webservice für eine App zu erstellen. Ich habe folgenden Code:
$query = sprintf("SELECT cut.id, s.id, latitude, longitude, ( 6371 * acos( cos( radians('%s') ) * cos( radians( latitude ) ) * cos( radians( longitude )
- radians('%s') ) + sin(radians('%s') ) * sin( radians( latitude ) ) ) ) AS distance
FROM(SELECT id, latitude, longitude FROM Location WHERE latitude Between '%s' AND '%s' AND longitude Between '%s' AND '%s') AS cut
LEFT JOIN Store s ON s.id = cut.storeID
WHERE 6371 * acos( cos( radians('%s') ) * cos( radians( latitude ) ) * cos( radians( longitude )
- radians('%s') ) + sin(radians('%s') ) * sin( radians( latitude ) ) ) < '%s' ORDER BY distance",
mysqli_real_escape_string($link, $userLatitude),
mysqli_real_escape_string($link, $userLongitude),
mysqli_real_escape_string($link, $userLatitude),
mysqli_real_escape_string($link, $minLat),
mysqli_real_escape_string($link, $maxLat),
mysqli_real_escape_string($link, $minLon),
mysqli_real_escape_string($link, $maxLon),
mysqli_real_escape_string($link, $userLatitude),
mysqli_real_escape_string($link, $userLongitude),
mysqli_real_escape_string($link, $userLatitude),
mysqli_real_escape_string($link, $radius));
Das alles funktioniert sehr gut wenn ich den JOIN rausnehme, ich brauche aber den JOIN, da ich zu meinen Locations auch die Stores anzeigen möchte. Wenn ich das ausführe bekomme ich folgende Fehlermeldung:
Unknown column 'cut.storeID' in 'on clause'
Ich bin mir jedoch ganz sicher, das ich die Spalte storeID in der Tabelle Location habe.
Wenn ich im JOIN auf andere Attribute der Tabelle Location zugreifen will, gibt es keine Fehlermeldung. Weiß jemand woran das liegen könnte? Wie gesagt ich bin neu in SQL und habe das Problem schon seid ein paar Tagen nicht lösen können. Ich wäre für jede Hilfe sehr dankbar. Das sind meine Tabellen:
ich bin neu in mySQL und PHP und versuche gerade einen Webservice für eine App zu erstellen. Ich habe folgenden Code:
$query = sprintf("SELECT cut.id, s.id, latitude, longitude, ( 6371 * acos( cos( radians('%s') ) * cos( radians( latitude ) ) * cos( radians( longitude )
- radians('%s') ) + sin(radians('%s') ) * sin( radians( latitude ) ) ) ) AS distance
FROM(SELECT id, latitude, longitude FROM Location WHERE latitude Between '%s' AND '%s' AND longitude Between '%s' AND '%s') AS cut
LEFT JOIN Store s ON s.id = cut.storeID
WHERE 6371 * acos( cos( radians('%s') ) * cos( radians( latitude ) ) * cos( radians( longitude )
- radians('%s') ) + sin(radians('%s') ) * sin( radians( latitude ) ) ) < '%s' ORDER BY distance",
mysqli_real_escape_string($link, $userLatitude),
mysqli_real_escape_string($link, $userLongitude),
mysqli_real_escape_string($link, $userLatitude),
mysqli_real_escape_string($link, $minLat),
mysqli_real_escape_string($link, $maxLat),
mysqli_real_escape_string($link, $minLon),
mysqli_real_escape_string($link, $maxLon),
mysqli_real_escape_string($link, $userLatitude),
mysqli_real_escape_string($link, $userLongitude),
mysqli_real_escape_string($link, $userLatitude),
mysqli_real_escape_string($link, $radius));
Das alles funktioniert sehr gut wenn ich den JOIN rausnehme, ich brauche aber den JOIN, da ich zu meinen Locations auch die Stores anzeigen möchte. Wenn ich das ausführe bekomme ich folgende Fehlermeldung:
Unknown column 'cut.storeID' in 'on clause'
Ich bin mir jedoch ganz sicher, das ich die Spalte storeID in der Tabelle Location habe.
Wenn ich im JOIN auf andere Attribute der Tabelle Location zugreifen will, gibt es keine Fehlermeldung. Weiß jemand woran das liegen könnte? Wie gesagt ich bin neu in SQL und habe das Problem schon seid ein paar Tagen nicht lösen können. Ich wäre für jede Hilfe sehr dankbar. Das sind meine Tabellen: