2013-09-20 5 views
0

У меня есть веб-сайт, который работал до недавнего времени. Карты Google api, чтобы получить lon/lat, изменились, поэтому я обновился до нового. Однако теперь я получаю постоянные ошибки запроса mysql. Я сначала предположил, что мой выбор lon/lat был некорректным, поэтому принудительные значения, но я все равно получаю сообщение об ошибкеmysql перестает работать, используя cos, sin и т. Д.

У вас возникла ошибка в синтаксисе SQL; в руководстве, соответствует версии сервера MySQL для корректного синтаксиса использовать вблизи «* PI()/180))), 1) как расстояние,» в строке 5

Длинного является 56,562016 и lat - это запрос -2.580324.

 $earthRadius = '3963.0'; // In miles 

     $sql = " 
      SELECT 
       ROUND(
        $earthRadius * ACOS(
         SIN($latitude*PI()/180) * SIN(latitude*PI()/180) 
         + COS($latitude*PI()/180) * COS(latitude*PI()/180) * COS((longitude*PI()/180) - ($longitude*PI()/180)) ) 
       , 1) 
       AS distance, 
       id, 
       name, 
       description, 
       latitude, 
       longitude 
      FROM 
       child 
      ORDER BY 
       distance ASC 
      LIMIT 0, 1"; 
+0

Каковы значения '$ longitude' и' $ latitude'? – Jon

+0

'var_dump ($ sql)' поможет –

+0

'$ широта' или' широта'? или оба? – undone

ответ

0

для MySQL ошибка указывает на то, что переменная $longitude пуста.

Проверьте значения и убедитесь, что они установлены. Ошибка обработки даже работает в php. :)