2016-10-10 2 views
0

В моем веб-сервисе у меня есть проблема с bindParams. Вот мой код:Ошибка переменной PHP bindParam

$stmt = $this->db->prepare("SELECT data FROM sless WHERE ST_CONTAINS(data.area, Point(:query))"); 
$stmt->bindParam(':query', $queryText, PDO::PARAM_STR); 

но :query переменных разве правильно адаптировать этот код.

Когда я эхо $queryText, он дает 29.029087,40.990361 отлично. Но в коде он не работает. Кстати, когда я пишу 29.029087,40.990361 широту и долготу вместо переменной :query мой код работает отлично. Вот код:

$stmt = $this->db->prepare("SELECT data FROM sless WHERE ST_CONTAINS(data.area, Point(29.029087,40.990361))"); 

Как решить эту проблему?

+1

Попробуйте и скоординировать отдельно 'Point (: лат,: LNG)' – Musa

+0

bindValue() ... – KDOT

+0

@KyleThomas ничего не изменилось –

ответ

0

Попробуйте и скоординировать отдельно

list($lat, $lng) = split(',', $queryText); 
$stmt = $this->db->prepare("SELECT data FROM sless WHERE ST_CONTAINS(data.area, Point(:lat,:lng))"); 
$stmt->bindParam(':lat', $lat, PDO::PARAM_STR); 
$stmt->bindParam(':lng', $lng, PDO::PARAM_STR); 
+0

Отлично работает –

Смежные вопросы