• Publicidad

Error tipo entero y fecha

Todo acerca de las bases de datos que existen: SQL, MySQL, Oracle, Postgres, CSV, etc.

Error tipo entero y fecha

Notapor marcosss » 2007-06-01 11:07 @504

Hola

Estoy programando en php y mysql y tengo un problema con los campos que declaro enteros o fecha, y es que cuando uno de estos campos toma un valor, y después el usuario quiere editarlo y dejarlo vacío me da 1 error, y ya lo he intentado asignando:

- La cadena vacia: ''
- Asignando NULL: variable=NULL;
- Asignando la cadena NULL: variable='NULL';

Y siempre me da el mismo error: Incorrect date para la fecha y data truncated o que tengo un error en la sintaxis sql para el entero.

Por favor ayudadme si sabéis...muchas gracias..
marcosss
Perlero nuevo
Perlero nuevo
 
Mensajes: 87
Registrado: 2007-05-14 06:23 @307

Publicidad

Notapor explorer » 2007-06-01 13:49 @617

Si los campos de la tabla han sido creados con el atributo 'NOT NULL' sacará ese tipo de errores.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor marcosss » 2007-06-04 09:55 @455

No, pero los atributos están como nulo=si (pueden estar nulos) y el valor predeterminado es NULL, pero cuando le asigno a uno de estos campos el valor de una variable que no contienen nada me da un error del tipo:

Código: Seleccionar todo
feha 1 vale You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' nota2Trim2= , nota3Trim2= , convocatoria2= , fechaConvocatoria2="" , nota1Trim3' at line 1

Pero, si controlo las variables que están vacías para no asignárselas de la siguiente manera:

Sintáxis: [ Descargar ] [ Ocultar ]
Using php Syntax Highlighting
$sql5= 'UPDATE calificacionesParcialesCFGM SET';
                 if ($_POST['cNota1TrimCFGMC1']!="")
                 $sql5.=' nota1Trim1='.$_POST['cNota1TrimCFGMC1'];
                 if ($_POST['cNota2TrimCFGMC1']!="")
                 $sql5.=' , nota2Trim1='.$_POST["cNota2TrimCFGMC1"];
                 if ($_POST['cNota3TrimCFGMC1']!="")
                 $sql5.=' , nota3Trim1='.$_POST['cNota3TrimCFGMC1'];
                 if ($_POST['cNotaFinalCFGMC1']!="")
                 $sql5.=' , convocatoria1='.$_POST["cNotaFinalCFGMC1"];
                 if ($_POST['cF1Convocatoria']!="")
                 $sql5.=' , fechaConvocatoria1="'.$_POST["cF1Convocatoria"].'"';
                 if ($_POST['cNota1TrimCFGMC2']!="")
                 $sql5.=' ,  nota1Trim2='.$_POST['cNota1TrimCFGMC2'];
                 if ($_POST['cNota2TrimCFGMC2']!="")
                 $sql5.=' , nota2Trim2='.$_POST["cNota2TrimCFGMC2"];
                 if ($_POST['cNota3TrimCFGMC2']!="")
                 $sql5.=' , nota3Trim2='.$_POST['cNota3TrimCFGMC2'];
                 if ($_POST['cNotaFinalCFGMC2']!="")
                 $sql5.=' , convocatoria2='.$_POST["cNotaFinalCFGMC2"];
                 if ($_POST['cF2Convocatoria']!="")
                 $sql5.=' , fechaConvocatoria2="'.$_POST["cF2Convocatoria"].'"';
                 if ($_POST['cNota1TrimCFGMC3']!="")
                 $sql5.=' , nota1Trim3='.$_POST['cNota1TrimCFGMC3'];
                 if ($_POST['cNota2TrimCFGMC3']!="")
                 $sql5.=' , nota2Trim3='.$_POST["cNota2TrimCFGMC3"];
                 if ($_POST['cNota3TrimCFGMC3']!="")
                 $sql5.=' , nota3Trim3='.$_POST['cNota3TrimCFGMC3'];
                 if ($_POST['cNotaFinalCFGMC3']!="")
                 $sql5.=' , convocatoria3='.$_POST["cNotaFinalCFGMC3"];
                 if ($_POST['cF3Convocatoria']!="")
                 $sql5.=' , fechaConvocatoria3="'.$_POST["cF3Convocatoria"].'"';
                 if ($_POST['cNota1TrimCFGMC4']!="")
                 $sql5.=' , nota1Trim4='.$_POST['cNota1TrimCFGMC4'];
                 if ($_POST['cNota2TrimCFGMC4']!="")
                 $sql5.=' , nota2Trim4='.$_POST["cNota2TrimCFGMC4"];
                 if ($_POST['cNota3TrimCFGMC4']!="")
                 $sql5.=' , nota3Trim4='.$_POST['cNota3TrimCFGMC4'];
                 if ($_POST['cNotaFinalCFGMC4']!="")
                 $sql5.=' , convocatoria4='.$_POST["cNotaFinalCFGMC4"];
                 if ($_POST['cF4Convocatoria']!="")
                 $sql5.=' , fechaConvocatoria4="'.$_POST["cF4Convocatoria"].'"';
 
                 $sql5.=' WHERE ((DNIAlumno="'.$_SESSION['DNICPCFGM'].'") && (modulo="'.$_SESSION['nModuloCPCFGM'].'") && (unidad="'.$fila3['unidad'].'") && (cursoAcademico="'.$_SESSION['cursoAcadCPCFGM'].'"))';
                 $result5 = mysql_query($sql5, $miConexion) or die(mysql_error());
Coloreado en 0.024 segundos, usando GeSHi 1.0.8.4


No sé cómo hacer que el usuario pueda poner como vacío un campo que antes ha rellenado, ¿Entendéis lo que os digo?
marcosss
Perlero nuevo
Perlero nuevo
 
Mensajes: 87
Registrado: 2007-05-14 06:23 @307

Notapor explorer » 2007-06-04 10:52 @494

Pues yo no me aclaro mucho...

Para que el usuario pueda poner un campo como vacío le basta con dejar vació el campo. Otra cosa es que en tus líneas tengas el error de que no captures esa situación. ¿Es eso?
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor marcosss » 2007-06-04 11:07 @505

Muchas gracias, pero ya he subsanado el error, el fallo estaba en unas comillas, que ya he solucionado, muchas gracias de todas maneras.
marcosss
Perlero nuevo
Perlero nuevo
 
Mensajes: 87
Registrado: 2007-05-14 06:23 @307


Volver a Bases de datos

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 6 invitados

cron