Ver Mensaje Individual
  #9 (permalink)  
Antiguo 06/07/2010, 07:33
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: no puedo guardar un registro nuevo

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 CLIENTES1. 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 original
  1. INSERT  INTO  clientes1(`NoyApellido`,`Direccion` ,`Telefono` ,`E-mail` ,`Caracteristicas` ,`Accion_Realizada` ,`Fecha`)
  2. values ('Juan R. DelllaCroce', NULL, NULL, NULL, NULL, NULL, NULL);

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
  1. $sql="insert into clientes (`NoyApellido`,`Direccion` ,`Telefono` ,`E-mail` ,`Caracteristicas` ,`Accion_Realizada` ,`Fecha`) values ('$nya', NULL, NULL, NULL, NULL, NULL, NULL);";
  2. $result = mysql_query($sql');
  3. if (!$result) {
  4.    die('Error en MySQL: ' . mysql_error());
  5. }

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
  1. <?php
  2. mysql_connect("localhost","root","");
  3. mysql_select_db("misclientes");
  4. $sql="insert into clientes (`NoyApellido`,`Direccion` ,`Telefono` ,`E-mail` ,`Caracteristicas` ,`Accion_Realizada` ,`Fecha`) values ('$nya', '', '', '', '', '', '')";
  5. echo mysql_errno($link) . ": " . mysql_error($link) . "\n";
  6.  
  7. ?>
¿Dónde ves que $link recibe el resultado de la consulta...?
Exactamente: En ninguna parte.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 06/07/2010 a las 09:46