Hola...
Afortunadamente puedes usar el mismo botón para guardar y actualizar ya que MySQL nos proporciona una propiedad muy útil para este tipo de casos, cabe mencionar que no estoy seguro si existe su equivalente en otras bases de datos pero por lo menos para MySQL funciona a la perfección.
ON DUPLICATE KEY UPDATE, es una propiedad el cual inserta un registro nuevo cuando no existe, cuando ese registro existe en la base de datos entonces hace un UPDATE a ese registro a través del id del registro, ya que encuentra una llave duplicada y reescribe ese registro, eh ahí la razón del nombre. Te invito a consultar la documentación para saber mas acerca de esta propiedad.
A continuación, te proporciono un ejemplo sencillo pero completamente funcional...
form.php
controller.php
Como podrás ver, realizamos un
INSERT normal, sin embargo, lo importante de todo esto esta en la nueva propiedad la cual tiene la sintaxis de un UPDATE común, solo es cuestión de indicarle que campos tiene que actualizar. Es importante mencionarte que no actualices la llave primaria por dos razones; la primera se debe a que es mala práctica, y la segunda y mas importante que la primera es que puede tronar tu aplicación el reescribirla.
Con respecto a tu llave incremental, debes buscar la forma de cargar previamente el
ID correspondiente al registro a editar.
Por el momento, si ejecutas el código que te pase pero cambiando la cadena de conexión así como la consulta a la base de datos, todo funcionara perfectamente.
Cualquier duda y/o inconveniente, aquí estamos. Suerte!
P.D.1. No utilizo el tradicional código de conexión a MySQL; es decir,
mysql_connect(), debido a que esta siendo obsoleto para futuras versiones de PHP por lo que no permitirán implementar dicho código.
P.D.2.
mysqli_connect(), recibe cuatro
parámetros en el siguiente orden:
Servidor,
Usuario,
Password,
BD.
P.D.3. No puedes combinar las diferentes formas para interactuar con la base de datos; es decir, si trabajas con
mysqli_ desde un principio entonces tendrás que seguir con esa forma, no puedes tener una parte en
mysqli_ y otra en
mysql_ tradicional o el mismo PHP te mostrara un error.