tbl_regions
Cita:
sp_regions_insertCREATE TABLE `tbl_regions` (
`regi_id` int(3) NOT NULL AUTO_INCREMENT,
`regi_name` varchar(40) NOT NULL,
PRIMARY KEY (`regi_id`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
`regi_id` int(3) NOT NULL AUTO_INCREMENT,
`regi_name` varchar(40) NOT NULL,
PRIMARY KEY (`regi_id`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
Cita:
Luego para utilizar este procedimiento almacenado desde php hago lo siguienteDelimiter //
CREATE PROCEDURE `sp_regions_insert`(IN name VARCHAR(40))
BEGIN
INSERT INTO tbl_regions (regi_name) VALUES(name);
END
//;
CREATE PROCEDURE `sp_regions_insert`(IN name VARCHAR(40))
BEGIN
INSERT INTO tbl_regions (regi_name) VALUES(name);
END
//;
insertar_region.php
Cita:
Bueno mi pregunta si hay alguna otra forma de poder obtener el último id(por cierto es auto increment y PK) insertado, ya que la propiedad insert_id de la clase mysqli no funciona(siempre me devuelven 0 pero si inserta en mi tabla) cuando utilizo procedimientos almacenados. <?php
$mysqli= new mysqli("localhost","root","","pruebas");
if (mysqli_connect_errno())
{
echo "No se pudo Conectar con la Base de Datos";
exit();
}
$saber_si_inserto=$mysqli->query('CALL sp_regions_insert("region a insertar")');
if(!empty($saber_si_inserto))
{
echo "fue correcto";
echo “el ultimo id insertado es”. $mysqli->insert_id;
echo “registros afectados”. $mysqli->affected_rows;
}
else
{
echo "ERROR: no se pudo insertar";
}
$mysqli->close();
?>
$mysqli= new mysqli("localhost","root","","pruebas");
if (mysqli_connect_errno())
{
echo "No se pudo Conectar con la Base de Datos";
exit();
}
$saber_si_inserto=$mysqli->query('CALL sp_regions_insert("region a insertar")');
if(!empty($saber_si_inserto))
{
echo "fue correcto";
echo “el ultimo id insertado es”. $mysqli->insert_id;
echo “registros afectados”. $mysqli->affected_rows;
}
else
{
echo "ERROR: no se pudo insertar";
}
$mysqli->close();
?>