Mira, hay algunas razones por las cuales se prohibe postear código de programación aquí (no importa el lenguaje ). Y te voy a comentar al menos tres:
1) No todos los foristas que se dedican a BBDD trabajan en PHP o el lenguaje que sea. Muchos ni siquiera programamos, porque no necesitas hacerlo para ser DBA.
2) El código de programación no nos dice nada a nivel de BBDD. Es para nosotros eso que "ensucia" el SQL y no nos deja ver los errores de sintaxis con claridad.
3) Por sobre todo, esconde los problemas potenciales en las variables, cuyos valores y origen ignoramos y por tanto no podemos saber con certeza si el inconvenientes son los datos en la base, la sintaxis, el sql_injection posible, o simplemente que los datos que llegan no existen o son datos "basura" (se denominan datos basura a los datos no filtrados, defectuosos o incorrectos).
En tu caso, lo único rescatable es esto:
Código MySQL:
Ver original (Nombre, Apellido, Telefono, Correo)
('{$nom}','{$ap}','{$tel}','{$correo}');
El problema es que no sabemos qué contenían las variables al momento de intentar el INSERT, por lo que no podemos saber si la cadena es válida, pero podemos presumir que hay algún problema sea con la cadena misma o con la tabla,
cuya estructura te pedí y no has posteado.