使用几何图形字段插入数据

时间:2019-08-29 作者:StripyTiger

我正在尝试插入包含点字段的数据。我使用的是$wpdb->insert方法,但在生成SQL时,它会将点用引号括起来。

global $wpdb;
$table = $wpdb->base_prefix . \'points\';

$Data = array(
    \'Title\' => $this->Title,
    \'gPoint\' => sprintf("POINT(%s,%s)",$this->Lng, $this->Lat),
    \'Lat\' => $this->Lat,
    \'Lng\' => $this->Lng
);

if (!$wpdb->insert($table,$Data))
    throw new Exception($wpdb->last_error);
这是生成的SQL。如果我从点字段周围取引号,查询将运行。

INSERT INTO `wp_points` (`Title`, `gPoint`, `Lat`, `Lng`) VALUES (\'My Marker\', \'POINT(0.2566251,51.0581515)\', \'51.0581515\', \'0.2566251\')
有办法绕过这一点吗?

1 个回复
SO网友:Mike Baxter

如果您使用%s 在sprintf语句中,$wpdb->insert()将自动应用单引号。

您要使用%f 对于浮动,或%d 对于整数/数字。

相关推荐

Database size Widget

有没有办法在WordPress管理区域小部件上显示数据库大小?我不希望它出现在页面的顶部或底部,我需要它出现在我正在创建的小部件中。。谢谢