Вставьте значение POINT () в MySQL, используя Fat Free Framework

Мне нужно вставить значение POINT в мою таблицу MySQL, используя Fat Free Framework. Я надеялся сделать это с помощью F3 Mapper, но у меня сложилось впечатление, что это невозможно.

Поэтому я попытался использовать $ db-exec ()

Это мой текущий код, основанный на различных поисках здесь и в Google.

$geopoint = "POINT($lat $long)";
$db->exec("INSERT INTO event_dates ('eventGeoPoint') VALUES ($geopoint)");

Это выдает ошибку:

PDOStatement: 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 '52.8583742))' at line 1

Я также пытался

 $db->exec("INSERT INTO event_dates ('eventGeoPoint') VALUES (GeomFromText($geopoint))");

Подскажите, пожалуйста, как правильно вставить значение POINT () в мою базу данных, используя Fat Free Framework, либо mapper, либо exec

0

Решение

Вы должны исправить свои INSERT заявление, с которым вы смешались UPDATE заявление.

INSERT INTO mytable SET myGeoPoint = 'GeomFromText($geopoint)

должно быть

 INSERT INTO mytable(myGeoPoint) values (GeomFromText($geopoint))

Кроме того, вам нужно использовать подготовленный оператор, чтобы избежать SQL-инъекций.

0

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

Ища после комментариев @ Ravi, я нашел ответ в эта почта.

Я изменил свое заявление на

$result= $db->exec("INSERT INTO mytable (GeoPoint) VALUES (PointFromText(CONCAT('POINT(',$lat,' ',$long,')')))");

И это работает!

0

По вопросам рекламы [email protected]