我已经设置了crateio,并且使用PDO类工作正常。
我正在尝试使用绑定将一组地理位置输入数据库。
我试过foreach但似乎没有用,我试过这个 - 这也行不通。
geopoint列设置为geo_point_array。
$route="[[30.33333, -6.13336],[30.33333, -6.13336]]";
$db = new Database;
$db->Query("insert into geopoints (id, longlat, name) values ('33',?,'pat')");
$db->bind(1, $route);
$db->execute();
如何将这组坐标添加到db?
谢谢
答案 0 :(得分:2)
来自Crate文档:
使用double表示并插入带有geo_point的列 数组格式如下:[lon_value,lat_value]
我还强烈建议对其他值进行参数替换。
use Crate\PDO\PDO;
$route = [[30.33333, -6.13336], [30.33333, -6.13336]];
$db = new PDO('crate:...');
$stmt = $db->query("insert into geopoints (id, longlat, name) values (?, ?, ?)");
$stmt->bind(1, 33, PDO::PARAM_INT);
$stmt->bind(2, $route, PDO::PARAM_ARRAY);
$stmt->bind(3, 'pat', PDO::PARAM_STR);
$stmt->execute();
答案 1 :(得分:0)
PDO::query
返回PDOStatement
:
$route="[[30.33333, -6.13336],[30.33333, -6.13336]]";
//If Dateabase is a sublcass of PDO
//$db = new Database;
$db = new PDO(...);
$stmt = $db->query("insert into geopoints (id, longlat, name) values ('33',?,'pat')");
$stmt->bind(1, $route, PDO::PARAM_STR);
$stmt->execute();