我有json对象中多边形的坐标,我想在数据库中将它们保存为多边形类型。这是我的密码-
$Coordinates = $conn->real_escape_string($_POST['Coordinates']);
"INSERT into table_name (polygon) VALUES(PolyFromText('POLYGON('" .($Coordinates). "')'))";
其中$坐标是多边形顶点的弦化lat和long。
对于ex.-坐标=
"[[36.37485644939407,-96.68243408203125],[35.94465937365276,-96.998291015625],[36.117908916563685,-96.10015869140625]]"
这些都是由这个代码生成的-
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+'"';
但错误是-
sql语法有错误;检查与您的mariadb服务器版本相对应的手册,以了解在第1行“\”[[36.37485644939407,-96.68243408203125],[35.94465937365276,-96.998291015625],'附近使用的正确语法
请有人帮我解决这个问题。
谢谢。
1条答案
按热度按时间agyaoht71#
使用正确的语法。例如:
看到这里了吗https://dev.mysql.com/doc/refman/5.7/en/gis-polygon-property-functions.html