我想把我的android应用程序中的坐标保存到mysql数据库中。为此,我在php中创建了一个api,但我的代码不起作用。
以下是我的php代码:
<?php
include_once 'db.php';
$nop = $_POST['nop'];
$plot_bng = $_POST['plot_bng'];
$result = mysqli_query($con, "INSERT INTO sp_house (geom, d_nop)
VALUES (STGeomFromText('POINT($plot_bng)'), '$nop')");
echo json_encode(array("value"=>1));
mysqli_close($con);
?>
在phpmyadmin中尝试插入查询时,数据成功地存储在数据库中。
2条答案
按热度按时间zour9fqk1#
检查列的正确属性
首先,确保使用
GEOMETRY
关键字。通过身份验证将数据插入数据库
创建具有正确属性的列后,可以将数据插入数据库。但是,您的代码对
SQL Injection
以及其他类型的数据库黑客攻击,因为您直接插入数据而无需任何身份验证。为了避免它,使用prepared statements
以及mysqli_real_escape_string
功能。另外,检查您是否有正确的查询语法并替换STGeomFromText
至ST_GeomFromText
.参考和进一步阅读
在mysql中创建空间列
填充空间列
如何避免sql注入?
如何使用准备好的语句?
oxiaedzo2#
如果您没有正确地编写var,请这样尝试
在你写的时候,变量只是普通的文本。。。