Estoy tratando de obtener la última clave generada automáticamente desde la tabla mysql del codeiginitor. Pero no está funcionando de alguna manera. He tratado este código
$this->db->insert_id()
, así como
$this->db->mysql_insert_id()
estoy recibiendo el siguiente error
Severity: Notice
Message: Undefined property: CI_DB_mysql_driver::$insert_id
es la función insert_id no se admite para MySQL? ¿Cómo podemos hacer que funcione?
Respuesta
Este es el código traté de insertar los datos y obtener el identificador de inserción,
$this->db->insert('table_name',$data); $id = $this->db->mysql_insert_id();
No está funcionando para mí. He usado DB Driver como "mysql". Luego he instalado "mysqli" y cambiado el nombre del controlador de base de datos en database.php como,
$db['default']['dbdriver'] = 'mysqli';
Ahora está funcionando bien para mí.
$ this-> db-> insert (table_name, $ data); return $ this-> db-> insert_id(); –
CodeIgniter's insert_id()
solo devolverá una ID de insert()
. A menos que esté ejecutando algo como $this->db->insert('table', $data);
antes de llamar a la función, no podrá devolver una ID.
Lo tengo trabajando con los siguientes cambios.
1. He cambiado la dbdriver en config.php de MySQL a Mysqli
2. usando el siguiente código
$this->db->mysql_insert_id();
–
, obviamente, la inserción Identificación del que estamos hablando se inserte después de algunos valores utilizando instrucción de inserción. –
Nunca ha publicado el código, por lo que no estaba seguro de si estaba utilizando un registro activo 'insert()'. –
suponiendo que está utilizando activa patrón de registro esto debería funcionar
$this->db->insert_id()
Use solamente esta sintaxis
$last_id = $this->db->insert_id();
return $last_id;
que tenía el mismo problema, y se encontró un problema con este enlace: http://kedyr.wordpress.com/2012/10/03/codeigniter-insert_id/
La solución no es una solución adecuada, porque es solo una forma de moverse usando el sql nativo, con el método codeigniter "Query "y lidiar con la devolución de llamada SQL nativa.
$this->db->insert('references', $data);
$query = $this->db->query('SELECT LAST_INSERT_ID()');
$row = $query->row_array();
$LastIdInserted = $row['LAST_INSERT_ID()'];
¡En un entorno multiusuario, esta solución es un desastre! – meYnot
probar esto:
$id = $this->db->insert_id()
en lugar de
$id = $this->db->mysql_insert_id();
favor, compruebe si su mesa no tienen incremento automático, campo primario continuación $this->db->insert_id();
no devuelve nada.
En mi caso, este método me ayudó y resolvió el problema. –
Gracias Vignesh :) –
Prueba este
$this->db->insert('table_name',$data);
$id = $this->db->mysql_insert_id();
su código funcionará si tiene un código como el siguiente:
var $table = 'your table name'
$this->db->insert($this->table,$data1);
return $this->db->insert_id();
insert_id de CodeIgniter() sólo devolverá un ID de un inserto(), como se menciona antes y también que no se olvide de la configuración del nombre del controlador de base de datos en database.php como
$db['default']['dbdriver'] = 'mysqli';
- 1. Reescritura para CodeIgniter no funciona
- 2. CodeIgniter MySQL consulta no trabaja
- 3. mysqli insert_id()
- 4. función base_url() que no funciona en codeigniter
- 5. Rollback no funciona en MySQL
- 6. MySQL contraseña no funciona
- 7. Codeigniter CSRF: cómo funciona
- 8. gmail smtp no funciona en mi hosting usando codeigniter framework
- 9. Python MySql Insertar no funciona
- 10. MySQL "NOT IN" no funciona
- 11. ¿Por qué GRANT no funciona en MySQL?
- 12. cómo obtener insert_id usando mysqli prepare statements
- 13. codeigniter no funciona en la página activa error no encontrado en el servidor
- 14. pitón MySQL instrucción de eliminación no funciona
- 15. Python MySQL - SELECT funciona, pero no DELETE?
- 16. mysqli/mysql query inside function no funciona
- 17. Codeigniter REST CSV import to mysql
- 18. Codeigniter, crear tablas y usuarios para MySQL
- 19. consulta mysql no funciona ningún error ot
- 20. CodeIgniter/PHP/MySQL: Recuperar datos con JOIN
- 21. ¿Cómo funciona la carga de codeigniter?
- 22. ¿cómo funciona codeigniter para desinfectar las entradas?
- 23. CodeIgniter: Class 'CI_Controller' no encontrado
- 24. combinando consultas de mysql Y o en Codeigniter
- 25. ACTUALIZACIÓN con ORDEN POR y LIMITE no funciona en MYSQL
- 26. ¿Alguien ha encontrado que REGEX "\ b" no funciona en MYSQL?
- 27. Tratar con claves duplicadas en CodeIgniter mysql insertar
- 28. ¿Cómo funciona el almacenamiento en caché de resultados de CodeIgniter?
- 29. Cómo desactivar los errores de mysql para que no se muestren en la pantalla en CodeIgniter
- 30. Obtener la última consulta ejecutada en MySQL con PHP/CodeIgniter
La normal [mysql_insert_id()] (http://ro.php.net/manual/de/function.mysql-insert-id.php) trabajo para usted? – sqwk
Ayudaría a ver dónde está ejecutando la consulta antes de esto. –
@sqwk Puedo obtener Insert id en PHP normal solo después de instalar MySQLi. Supongo que mysql_insert_id solo funcionará con MySQLi. Me pregunto cómo podemos hacer CodeIgnitor para hacer uso de MySQLi –