Ver Mensaje Individual
  #6 (permalink)  
Antiguo 07/11/2008, 03:53
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 2 meses
Puntos: 574
Respuesta: Valor NULL o NOT NULL

Para ver el possible error yo haria lo siguiente

$consulta = "INSERT INTO `paciente` VALUES ('".$_POST['Dni']."', '".utf8_encode($_POST['Nombre'])."', '".utf8_encode($_POST['Apellidos'])."', '".$_POST['Sexo']."', '".utf8_encode($_POST['Pais'])."', '".utf8_encode($_POST['Poblacion'])."', '".utf8_encode($_POST['Provincia'])."', ".$_POST['CP'].", ".$_POST['Telefono'].", '".$Nacimiento."', '".utf8_encode($_POST['Direccion'])."');";

echo $consulta;

Con lo que veras como se ha construido la sentencia SQL. Mira si el resultado de $_POST['Telefono'] cuando no hay telefono es lo que esperas.


Por otro lado INSERT INTO tiene varias sintaxis la que usas (manual)

INSERT INTO nombreTabla VALUES (....)

o

INSERT INTO nombreTabla (nombreCampo, ....) VALUES (...)

entre otras.

En la que tu usas no estas indicando el nombre de las columnas que vas a llenar, yo no la uso nunca me gusta controlar donde meto los datos.

Cita:
...hasta que no meto el telefono ...
esto que significa que usas algo así

$consulta = "INSERT INTO `paciente` VALUES ('".$_POST['Dni']."', '".utf8_encode($_POST['Nombre'])."', '".utf8_encode($_POST['Apellidos'])."', '".$_POST['Sexo']."', '".utf8_encode($_POST['Pais'])."', '".utf8_encode($_POST['Poblacion'])."', '".utf8_encode($_POST['Provincia'])."', ".$_POST['CP'].", '".$Nacimiento."', '".utf8_encode($_POST['Direccion'])."');";

Sin telefono, si es el caso es logico que de errores puesto que no le estas diciendo donde quieres los datos luego como hay mas columnas que datos no se si simplemente no puede hacer el insert o si lo puede hacer lo unico que puede hacer es asignar seqüencialmente los campos con lo que el ultimo quedaria vacio y esta definido como NOT NULL con lo que debe dar error.

Un comentario tienes el CP y el telèfono definidos como int que haces cuando tengan ceros a la izquierda (mi codigo postal de Sabadell/Barcelona es 08208) ...


Quim

Última edición por quimfv; 07/11/2008 a las 03:59