mysql — поиск магазина PHP из примера Google

Я пытаюсь получить этот пример от Google для работы с моим кодом.

https://developers.google.com/maps/articles/phpsqlsearch_v3

Я использую библиотеку Meekro PHP MySQL, поскольку она облегчает другие запросы, которые я делаю.

http://meekro.com/

Это та часть, которая дает мне ошибки.

$query = sprintf("SELECT address, name, lat, lng, ( 3959 * acos( cos( radians('%s') ) * cos( radians( lat ) ) * cos( radians( lng ) - radians('%s') ) + sin( radians('%s') ) * sin( radians( lat ) ) ) ) AS distance FROM markers HAVING distance < '%s' ORDER BY distance LIMIT 0 , 20",
mysql_real_escape_string($center_lat),
mysql_real_escape_string($center_lng),
mysql_real_escape_string($center_lat),
mysql_real_escape_string($radius));
$result = mysql_query($query);

Я использую следующий код:

$results = DB::query("SELECT address, name, lat, lng, ( 3959 * acos( cos( radians('%s') ) * cos( radians( lat ) ) * cos( radians( lng ) - radians('%s') ) + sin( radians('%s') ) * sin( radians( lat ) ) ) ) AS distance FROM markers HAVING distance < '%s' ORDER BY distance LIMIT 0 , 20",
$center_lat,
$center_lng,
$center_lat,
$radius);

Я всегда получаю следующую ошибку, используя следующие параметры:

?lat=37&lng=-122&radius=25

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '37'') ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(''-122'') ) + si' at line 1

Даже когда я пытаюсь выполнить запрос в phpMyAdmin, я получаю ту же ошибку.

-1

Решение

Удалить кавычки вокруг% s:

$results = DB::query("SELECT address, name, lat, lng, ( 3959 * acos( cos( radians(%s) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(%s) ) + sin( radians(%s) ) * sin( radians( lat ) ) ) ) AS distance FROM markers HAVING distance < %s ORDER BY distance LIMIT 0 , 20",
$center_lat,
$center_lng,
$center_lat,
$radius);
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector