2011-07-15 25 views
5

Bir MySQL tablosuna tek bir satır ekleyen Codeigniter Modelimde bir hata alıyorum. İşte'Alan listesindeki' 2 'sütununda bilinmeyen sütun'

A Database Error Occurred 

Error Number: 1054 

Unknown column 'value2' in 'field list' 

INSERT INTO `tablename` (`column1`, `column2`) VALUES (value1, value2) 

Filename: path\to\DB_driver.php 

Line Number: 330 

sütun Hem varchar columns.Does kimse bu hatanın bilirler hatanın bir açıklamasıdır?

Hata iletisi, sözdizimi kopyalanmıştır. şöyle My Denetleyici kodudur: 'value1' ve 'value2' olarak tek tırnak içinde olmalıdır value1 ve value2:

class device_model extends CI_Model { 
    function insert_new_device($lData) { 
     $this->db->insert('devices', $lData); 
     return $this->db->insert_id(); 
    } 
} 
+0

Bu mesaj verbatim copy/paste olarak mı yoksa herhangi bir şekilde düzenlenmiş mi? Kullandığınız gerçek kodu, hatayı tetikler misiniz? '' Değer1 '' ve '' değer2 '' ... –

+0

niçin bu tırnakların bir kopyası bulunmadığından ve sorunun kod yazıcısı forumlarında da bildirildiğinden emin olun http://codeigniter.com/forums/ viewthread/194161/ – Rupin

cevap

3
MySQL tarafından bildirilen hata dayanarak

şöyle

$deviceID=$xmlString->deviceID; 
$appType=$xmlString->appType; 
$data = array('deviceIdentifier' => $deviceID, 'installType'=>$appType); 
$this->device_model->insert_new_device($data); 

Benim modelim kodudur.

GÜNCELLEME: Sorgudaki değerler etrafında herhangi bir tırnak bulunmamasının nedeni, XML'den çekilen değerlerin tam olarak dizeleri olmadığından ortaya çıkmaktadır. Sonuçların dizgiye yerleştirilmesi, sorgu çözümleyicinin değerleri aktardığından emin olmalıdır.

+0

Anlaşılan sorun, Codeigniter'deki Active Record'un bu teklifleri otomatik olarak vermemesidir ... – Rupin

+1

Tipecasting '$ deviceID = (string) $ xmlString-> deviceID; $ appType = (string) $ xmlString-> appType; 'veya' $ data = dizi ('deviceIdentifier' => (string) $ deviceID, 'installType' => (string) $ appType); '? – Anshuman

+0

Bu işe yaradı! 1 – Rupin

İlgili konular