使用CodeIgniter插入POINT? (防止在POINT值附近添加引号?)

时间:2012-04-07 01:40:42

标签: php mysql codeigniter

我正在使用Codeigniter将一些数据插入MySQL表中。但是,自动添加的单引号会让我遇到'p' => 'POINT(1 1)'的问题,因为这会导致生成的SQL查询为'POINT(1,1)'而不是POINT(1,1)。如果我传递false第二个参数,则将从生成的SQL查询中删除所有单引号。我该如何处理这个问题?

PHP代码

$data = array(  'lat' => $url['lat'],
                'lng' => $url['lng'],
                'p' => 'POINT(1 1)'
                );
$this->db->insert('listings', $data);

2 个答案:

答案 0 :(得分:0)

尝试做类似

的事情
$this->db->set(array(
   'lat' => $url['lat'],
   'lng' => $url['lng'],
), true);
$this->db->set(array(
   'p' => 'POINT(1 1)'
), false);
$this->db->insert("listings");

第二个参数将确保不转义该值。

很抱歉,如果我的回答有误,我不使用Codeigniter

答案 1 :(得分:-1)

请试试这个

$geo_cordinates = "GeomFromText('POINT(18.025600 72.251500)',0)"; 

$sql = "Insert into `tablename` (`geo_cordinates`) values ($geo_cordinates)";
$this->db->query($sql);

这对我有用。希望对你也有用。