1

Codeigniter を使用して、MySQL テーブルにデータを挿入しています。ただし、自動的に追加された一重引用符が問題を'p' => 'POINT(1 1)'引き起こしています。これにより、生成された SQL クエリが'POINT(1,1)'ではなくPOINT(1,1). 2 番目のパラメーターを渡すfalseと、生成された SQL クエリからすべての一重引用符が削除されます。この問題にどのようにアプローチすればよいですか?

PHPコード

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

2 に答える 2

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");

2 番目のパラメーターは、値がエスケープされていないことを確認します。

私の答えが間違っていたらごめんなさい、私はCodeigniterを使っていません

于 2012-04-07T01:59:45.330 に答える
-1

これを試してください

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

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

それは私のために働いています。希望もあなたのために働くでしょう。

于 2016-02-02T09:00:56.273 に答える