Bueno, a simple vista hay al menos dos errores básicos que pueden producir el problema:
1) Estás intentando insertar un registro en la tabla CLIENTES, y la tabla se llama CLIENTES
1. Es decir, la tabla que invocas no existe.
2) Supongo que cuando pones '' estás intentando poner un NULL, pero el problema es que '' y NULL son cosas diferentes. El espacio vacío que pones es lo que se denomina
caracter vacío, y tiene existencia. NULL no, no es un dato, es un puntero a la nada y un estado, no un dato, por lo que cuando lo usas para intentar llenar el campo de fecha se produce un error de sintaxis (ErrorNo 1292: "Incorrect date value: '' for column 'Fecha' at row 1").
Primero, pon bien el nombre de la tabla, luego, si lo que quieres es ingresar NULL en esos campos, lo que debes escribir es eso: NULL, sin encerrarlos entre apóstrofes porque eso los transformaría en cadenas de texto.
Algo así:
Código MySQL:
Ver originalINSERT INTO clientes1
(`NoyApellido`,`Direccion` ,`Telefono` ,`E-mail` ,`Caracteristicas` ,`Accion_Realizada` ,`Fecha`)
En el caso de PHP (que no debería ponértelo porque aquí, en el Foro de Bases de Datos las normas del foro
prohíben el código de programación), la cosa sería:
Código PHP:
Ver original$sql="insert into clientes (`NoyApellido`,`Direccion` ,`Telefono` ,`E-mail` ,`Caracteristicas` ,`Accion_Realizada` ,`Fecha`) values ('$nya', NULL, NULL, NULL, NULL, NULL, NULL);";
if (!$result) {
die('Error en
MySQL: ' . mysql_error()); }
Quiero que prestes atención a una cosa: En tu ejemplo, si bien estás poniendo $link como origen de la información del error, ese $link no está recibiendo nada de la ejecución de la sentencia, por lo que jamás se podría recuperar el mensaje en esas condiciones.
Esto es lo que tu pusiste:
Código PHP:
Ver original<?php
$sql="insert into clientes (`NoyApellido`,`Direccion` ,`Telefono` ,`E-mail` ,`Caracteristicas` ,`Accion_Realizada` ,`Fecha`) values ('$nya', '', '', '', '', '', '')";
?>
¿Dónde ves que $link recibe el resultado de la consulta...?
Exactamente: En ninguna parte.