function agregar_usuarios() {
$datos_insertar=$this->input->post();
unset($datos_insertar['btn_enviar']);
$this->db->insert('contactos', $datos_insertar );
return $this->db->insert_id();
}
La tabla usuarios tiene la siguiente estructura:
Como pueden observar, los campos de edad y status son integer y en con la función agregar_usuarios(); me esta arrojando un error al hacerlo.
La solución es muy sencilla y es esta:
function agregar_usuarios() {
$datos_insertar=$this->input->post();
unset($datos_insertar['btn_enviar']);
settype($datos_insertar['edad'],'integer'); settype($datos_insertar['status'], 'integer');
$this->db->insert('contactos', $datos_insertar );
return $this->db->insert_id();
}
Establecer los datos como integer con la función settype() de PHP.
Como pueden observar, se esta haciendo un retorno del id insertado en la tabla contactos, pero aquí viene el otro lío que encontré al hacerlo.
Como pueden observar es un error con carácter "Warning" a pesar de que esta haciendo la inserción en la tabla normalmente.
La solución para la versión 2.2.4 de Codeigniter esta en el archivo:
\proyecto\system\database\drivers\postgre\postgre_driver.php
Solo coloquen la linea número 332 dentro de la function insert_id() en comentario, esto es:
Y solucionado ...