2016-02-06 34 views
1

您好我有这个查询的问题,当我运行CI查询,这只在所有列插入'1',我试图直接运行查询phpmyadmin并做同样的事情,然后我通过phpmyadmin插入数据,这会创建一个不同的查询并正确插入。 这是通过phpmyadmin的创建:查询codeigniter插入只有1在数据库中的位DB数据类型

INSERT INTO `estancias`.`instalacion` (`idINSTALACION`, `sala_lactantes`, `sala_maternales`, `sala_preescolar`, `sala_usos_mult`, `a_recepcion`, `a_administrativa`, `sillas`, `archiveros`, `cuna_observacion`, `basc_estadimetro`, `botiquin`, `s_atencion_cunas`, `colchonetas`, `mesas_sillas_infantiles`, `muebles_guarda`, `area_lactancia`, `cocina_com_desp`, `consultorio`, `inst_sanitarias_ninos`, `inst_sanitarias_personal`, `area_juegos`, `area_educacion_preescolar`, `ventilacion`, `iluminacion`, `agua_potable`, `espacio_ninos`) VALUES (NULL, b'1', b'1', b'1', b'1', b'1', b'0', b'0', b'0', b'0', b'0', b'0', b'0', b'0', b'0', b'0', b'0', b'0', b'0', b'0', '', b'0', b'0', b'0', b'0', b'0', b'0'); 

而这与从$ _REQUEST数据笨和子系统内置于$ instalacion:

$this->db->insert('instalacion',$instalacion); 

INSERT INTO `instalacion` (`sala_lactantes`, `sala_maternales`, `sala_preescolar`, `sala_usos_mult`, `a_recepcion`, `a_administrativa`, `sillas`, `archiveros`, `cuna_observacion`, `basc_estadimetro`, `botiquin`, `s_atencion_cunas`, `colchonetas`, `mesas_sillas_infantiles`, `muebles_guarda`, `area_lactancia`, `cocina_com_desp`, `consultorio`, `inst_sanitarias_ninos`, `inst_sanitarias_personal`, `area_juegos`, `area_educacion_preescolar`, `ventilacion`, `iluminacion`, `agua_potable`, `espacio_ninos`) VALUES ('1', '1', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0'); 

感谢您提前为您的参与!

+0

我认为你的问题是ID仍然是1的所有记录? –

+0

在所有的记录都是1,但我不确定是否因为这个原因,实际上添加AUTO_INCREMENT的NULL仍然是这样做的。我猜可能是数据类型BIT的一部分,但只有我猜测。 – EddyCastillo

+0

使你的COLUMN'整数(11)自动排列的主键'并在你的php查询中跳过该字段。该字段将自动处理。 –

回答

0

您可以选择varchar2数据类型为除id之外的所有字段,必须为integer

0
foreach($_REQUEST as $key => $value){ 
      $instalacion->$key=(bool)$value; 
     } 

这是问题,总是你必须转换为bool因为如果离开了数据,而无需转换,这仍然像一个STRING并给出了问题。

希望别人能帮到你!

相关问题