Php 插入带有GET值的postgis几何图形

Php 插入带有GET值的postgis几何图形,php,postgresql,Php,Postgresql,我试图使用带有get值的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 ($st

我试图使用带有get值的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();
}
?>
您知道如何解决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");
    }

在您的代码中,您有这个插入请求:
INSERT-INTO-table(id_a,id_b,geom)值(?,?)但在结果中,您使用的是表
posizioni
,因此尝试编辑插入内容:
INSERT INTO posizioni(…
您必须翻转lat&long。PostGIS总是将long(x)放在(y)之前
$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");
    }