PHP - вопрос с MySQL - PullRequest
       0

PHP - вопрос с MySQL

0 голосов
/ 10 апреля 2011

Я нахожу ближайшее местоположение (с long / lat из Google API) в радиусной области с lon / lat в моей базе данных SQL, вот мой запрос:

$query = "SELECT id, ( 3959 * acos( cos( radians(".$lat.") ) * cos( radians( lat ) ) * cos( radians( lon ) - radians(".$long.") ) + sin( radians(".$lat.") ) * sin( radians( lat ) ) ) ) AS distance FROM finder_location HAVING distance < 25 ORDER BY distance LIMIT 0 , 1";

    $result = mysql_query( $query );

    $row = mysql_fetch_array($result);
    echo $row['id'];

Запрос возвращается правильновнутри phpMyAdmin as:

id  9
distance 0.74066713768542

Итак, запрос компилируется правильно ...

Но, когда я пытался вывести на PHP, я получаю следующие ошибки:

У вас ошибка в синтаксисе SQL;проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы узнать правильный синтаксис для использования рядом с '>)) * cos (радианы (широта)) * cos (радианы (долгота) - радианы (-73.988307))' в строке 1 Предупреждение: mysql_fetch_array(): предоставленный аргумент не является допустимым ресурсом результата MySQL

1 Ответ

3 голосов
/ 10 апреля 2011

Ваша переменная php $lat заполнена неправильно. Вы можете увидеть конец html-тега в ошибке mysql. Отладьте ваши $lat и $long, чтобы убедиться, что они имеют правильные значения перед запросом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...