2011-07-15 12 views
5

Recibo un error en mi Modelo Codeigniter que está insertando una sola fila en una tabla MySQL. Aquí hay una descripción del errorColumna desconocida 'value2' en 'lista de campos'

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 

Ambas columnas son columnas varchar. ¿Alguien sabe de este error?

El mensaje de error es una copia literal pegada. Mi código del controlador es el siguiente:

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

mi código de modelo es el siguiente

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

¿Este mensaje es copiar/pegar literalmente o está editado de alguna manera? ¿Puedes mostrar el código real que estás utilizando que desencadena el error? Observe por qué no hay comillas alrededor de ''valor1'' y' 'valor2'' ... –

+0

una copia de este error y el problema también se informa en los foros de codeigniter, vea http://codeigniter.com/forums/ viewthread/194161/ – Rupin

Respuesta

3

en base al error reportado por MySQL: value1 y value2 debe estar dentro de las comillas simples como 'value1' y 'value2'.

ACTUALIZACIÓN: La razón por la que no hay citas de los valores en la consulta parece ser porque los valores que se extraen del XML no son exactamente cadenas. La conversión de los resultados a cadena debe garantizar que el analizador de consultas cita los valores.

+0

Que se entienda, el problema es por qué Active Record en Codeigniter, no pondría esas citas automáticamente ... – Rupin

+1

¿Qué hay de typecasting '$ deviceID = (cadena) $ xmlString-> deviceID; $ appType = (cadena) $ xmlString-> appType; 'o' $ data = array ('deviceIdentifier' => (cadena) $ deviceID, 'installType' => (cadena) $ appType); '? – Anshuman

+0

Eso funcionó !!! 1 – Rupin

Cuestiones relacionadas