Según lo solicitado por el OP.
Añadir o die(mysqli_error($conn)) a mysqli_query() para ver si salen errores.
También es mejor usar affected_rows() en actualización también.
Además, está utilizando if(isset($_POST['contact'])){ y tiene 2 atributos de nombre para el formulario y el botón.
Eliminar el de <form> . Atributo de nombre en <form> solo funciona si usa jQuery/Ajax.
Además, si su formulario y PHP/SQL están en el mismo archivo, use un encabezado para redirigir a la misma página y asegúrese de no ser * salida antes del encabezado. y asegúrese de que las etiquetas cortas estén habilitadas.
Referencias:
- https://php.net/manual/en/mysqli. filas-afectadas.php
- https://php.net/manual/en/mysqli.error. php
- https://php.net/manual/en/function.header. php
*Cómo corregir "Encabezados ya enviados " error en PHP
Su código actual está abierto a inyección SQL
. Use mysqli_* con declaraciones preparadas
, o PDO
con declaraciones preparadas
.