嗨我遇到了这些查询的问题,当我运行CI查询时,这在所有列中只插入'1',我尝试直接在phpmyadmin
中运行查询并执行相同的操作,然后我由phpmyadmin插入数据,这将创建一个不同的查询并正确插入。
这是由phpmyadmin创建的:
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');
这是通过codeigniter与来自$ _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 :(得分:0)
您可以为varchar2
除id
以外的所有字段选择integer
数据类型。
答案 1 :(得分:0)
foreach($_REQUEST as $key => $value){
$instalacion->$key=(bool)$value;
}
这就是问题所在,如果保留数据而不将其转换为STRING
并且出现问题,则必须转换为bool原因。
希望别人能帮到你!