簡體   English   中英

使用GET值插入postgis幾何體

[英]insert postgis geometry with GET values

我正在嘗試使用帶有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();
}
?>

如果我使用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");
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM