У меня есть координаты многоугольника в объекте JSON, и я хочу сохранить их как многоугольник в базе данных. Это мой code-
$Coordinates = $conn->real_escape_string($_POST['Coordinates']);
"INSERT into table_name (polygon) VALUES(PolyFromText('POLYGON('" .($Coordinates). "')'))";
где $ координаты - строковые латинские и длинные вершины многоугольника.
Для ex.- Координаты =
"[[36,37485644939407, -96 +0,68243408203125], [35,94465937365276, -96 0,998291015625], [+36,117908916563685, -96 +0,10015869140625]]"
и они генерируются из этого code-
google.maps.event.addListener(drawingManager, 'overlaycomplete', function(polygon) {
var coordinates_poly = polygon.overlay.getPath().getArray();
var lat_poly = [];
var lng_poly = [];
var Coordinates = [];
for(var i = 0; i <coordinates_poly.length; i++){
lat_poly = coordinates_poly[i].lat();
lng_poly = coordinates_poly[i].lng();
Data = [lat_poly,lng_poly];
Coordinates.push(Data);
}
var JSON_Coordinates = JSON.stringify(Coordinates);
document.getElementById("coordinates").value= '"'+JSON_Coordinates+'"';
но ошибка is-
У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии сервера MariaDB, для правильного синтаксиса для использования рядом с '\' [[36.37485644939407, -96.68243408203125], [35.94465937365276, -96.998291015625], ['в строке 1
Пожалуйста, помогите мне, как решить эту проблему.
Благодарю.
Используйте правильный синтаксис. Например:
POLYGON((50.866753 5.686455, 50.859819 5.708942, 50.851475 5.722675, 50.841611 5.720615, 50.834023 5.708427, 50.840744 5.689373, 50.858735 5.673923, 50.866753 5.686455))
См. Здесь https://dev.mysql.com/doc/refman/5.7/ru/gis-polygon-property-functions.html.