【问题标题】:Using PDO for an insert and the_geom使用 PDO 进行插入和 the_geom
【发布时间】:2013-08-03 11:58:36
【问题描述】:

我将我的代码切换到 PDO 以提高安全性。我的插入一直有效,直到我添加了一个创建空间数据的特殊列。请参阅下面的标准插入内容,以及下面的第 2 个不工作的内容。

$sql = "INSERT INTO sites_tbl (sitename, the_geom) VALUES ('$_POST[sitename]', st_geomfromtext('POINT($geomstring)',27700))";

geomstring = 格式为 000000 000000 的数字

使用 PDO 时,如果我只想插入站点名称,则相同的插入看起来像(如下),但当我执行 the_geom 时则不行。值 325123 215432 最终将是一个变量,但现在我正在测试列出这个。

  $stmt5 = $conn ->prepare(
"INSERT INTO sites_tbl (sitename, river_id, group_id, accepted_site, the_geom, bmwp_threshold) VALUES (?, ?, ?, ?, ?, ?)");

$stmt5->bindParam(1, $sitename);
$stmt5->bindParam(2, $river_id);
$stmt5->bindParam(3, $group_id);
$stmt5->bindParam(4, $accepted_site);
$stmt5->bindParam(5, $geomstring3);
$stmt5->bindParam(6, $bmwp_threshold);

$geomstring2 = "'POINT(635230 352120)'";
$geomstring3 = st_geomfromtext($geomstring2, 27700);

【问题讨论】:

    标签: sql pdo insert params param


    【解决方案1】:

    你不能
    绑定
    任意
    SQL部分
    使用
    准备好的
    声明

    但是字符串
    或数字
    字面意思
    只要。

    $geomstring4 = "'POINT(325123 215432)'";
    
    $stmt5 = $conn ->prepare(
       "INSERT INTO sites_tbl (sitename, the_geom) VALUES (?, st_geomfromtext(?,27700)))");
    $stmt5->bindParam(1, $sitename);
    
    $stmt5->bindParam(2, $geomstring4);
    

    【讨论】:

    • 啊,我打错字了,st_geomfromtext 后面的括号太多了?仍然没有插入。我编辑了问题以获得我正在做的完整插入
    猜你喜欢
    • 2017-10-27
    • 1970-01-01
    • 2019-01-12
    • 1970-01-01
    • 1970-01-01
    • 2013-01-28
    • 2019-07-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多