使用 GET 值插入 postgis 几何
问题:使用 GET 值插入 postgis 几何 我正在尝试使用带有获取值的 ST_Makepoint 进行插入,但遇到 500 错误。 这是我的 php 代码: <?php try { $user = 'user'; $dbh = new PDO('pgsql:host=localhost;dbname=userdb', $user); $stmt = $dbh->prepare("INSERT
·
问题:使用 GET 值插入 postgis 几何
我正在尝试使用带有获取值的 ST_Makepoint 进行插入,但遇到 500 错误。
这是我的 php 代码:
<?php
try {
$user = 'user';
$dbh = new PDO('pgsql:host=localhost;dbname=userdb', $user);
$stmt = $dbh->prepare("INSERT INTO table(id_a, id_b, geom) VALUES (?,?,?);");
if ($stmt->execute(array($_GET['id_a'], $_GET['id_b'], ST_SetSRID(ST_MakePoint($_GET['lat'], $_GET['long']),4326)))) {
print_r("OK");
} else {
print_r("Error");
}
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}
?>
如果我用 pgAdmin 运行这个查询,它运行良好:
INSERT INTO table(id_a, id_b, geom) VALUES (1,1,ST_SetSRID(ST_MakePoint(2, 2),4326));
你知道如何解决php代码中的问题吗?
解答
我是这样解决的:
$stmt = $dbh->prepare("INSERT INTO table(id_a, id_b, geom) VALUES (?,?,ST_SetSRID(ST_MakePoint(?, ?),4326));");
if ($stmt->execute(array($_GET['id_a'], $_GET['id_b'], $_GET['lat'], $_GET['long']))) {
print_r("OK");
} else {
print_r("Errore");
}
更多推荐
已为社区贡献19918条内容
所有评论(0)