gpt4 book ai didi

php - 将 postgresql the_geom 函数添加到 php 插入

转载 作者:行者123 更新时间:2023-11-29 13:33:00 26 4
gpt4 key购买 nike

我正在尝试制作一个从 csv 到 post_gis 的导入脚本,所有内容都会导入,直到我添加 the_geom 列。我不知道在哪里放置 st_geomfromtext('POINT( VARIABLE ,27700)') 并不断收到与引号有关的错误,所以我知道我在放置它们时做错了。

此脚本(完整版)是在 John Boy Tutorial 之后创建的

 $sql ="INSERT INTO teams_tbl (team_id, name,  the_geom) VALUES 
(
'".addslashes($data[0])."',
'".addslashes($data[1])."',
'st_geomfromtext('POINT(".addslashes($data[2])."27700)')'

)
";

最佳答案

为了帮助您解决引号放置问题,我建议使用 prepared statements :

// Prepare a query for execution
$result = pg_prepare(
$dbconn,
"my_query",
'INSERT INTO teams_tbl (team_id, name, the_geom) '
. 'VALUES ($1, $2, st_geomfromtext($3))');

// Prepare the string to be inserted as the_geom
$the_geom = "POINT(" . $data[2]. ", 27700)";

// Execute the prepared query using your variables.
// Note that it is not necessary to escape them
$result = pg_execute($dbconn, "my_query", $data[0], $data[1], $the_geom);

您可以稍后使用不同的参数执行相同的准备好的查询,这在循环中非常有用。

注意:我不知道您的 $data 变量中存储了何种数据,但在这种情况下,您可以确定问题不会出在引号,它将是您数据中的任何内容。

关于php - 将 postgresql the_geom 函数添加到 php 插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19421698/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com