Otra propiedad de amplio uso es insert_id, la misma almacena el valor generado en un campo autonumérico cuando efectuamos un insert.
Muy útil para mostrar al usuario que codigo se generó cuando efectuamos un alta en una tabla.
Implementar el algoritmo para efectuar el alta de un artículo en la tabla "articulos", mostrar por pantalla el código que se generó en forma automática.
La primer página tiene por objetivo mostrar el formulario para que el usuario ingrese el nombre del artículo, su precio y seleccione el rubro al que pertenece (pagina1.php):
<!doctype html> <html> <head> <title>Alta de artículo</title> </head> <body> <form method="post" action="pagina2.php"> Ingrese descripcion del artículo: <input type="text" name="descripcion" required> <br> Ingrese precio: <input type="text" name="precio" required> <br> Seleccione rubro: <select name="codigorubro"> <?php $mysql=new mysqli("localhost","root","","base1"); if ($mysql->connect_error) die("Problemas con la conexión a la base de datos"); $registros=$mysql->query("select codigo,descripcion from rubros") or die($mysql_error); while ($reg=$registros->fetch_array()) { echo "<option value=\"".$reg['codigo']."\">".$reg['descripcion']."</option>"; } ?> </select> <br> <input type="submit" value="confirmar"> </form> </body> </html>
La página siguiente (pagina2.php) es donde efectuamos el insert en la tabla articulos y seguidamente procedemos a acceder al atributo insert_id de la clase mysqli:
<!doctype html> <html> <head> <title>Alta de artículo</title> </head> <body> <?php $mysql=new mysqli("localhost","root","","base1"); if ($mysql->connect_error) die("Problemas con la conexión a la base de datos"); $mysql->query("insert into articulos(descripcion,precio,codigorubro) values ('$_REQUEST[descripcion]',$_REQUEST[precio],$_REQUEST[codigorubro])") or die($mysql_error); echo "Se cargó el artículo y se se generó el código de artículo:"; echo $mysql->insert_id; $mysql->close(); ?> </body> </html>
Como podemos observar que luego de llamar al método query del objeto $mysql procedemos a imprimir la propiedad insert_id que almacena en ese momento el código de artículo que acaba de generarse al ejecutar el comando SQL insert:
echo $mysql->insert_id;
Copiar el contenido de este cuadro de texto al NotePad++ y grabarlo en la carpeta c:\wamp\www con un nombre con extensión php (si hay varios cuadros
de texto grabar cada uno en un archivo distinto).
luego abrir el navegador (Chrome, FireFox, IExplorer etc.) y en la barra de direcciones tipear: http://localhost/pagina1.php (o el nombre del
archivo que le dió)