Vie Jun 01, 2007 10:07 am
|
 |
marcosss
Perlero Nuevo

|
Registrado: 14 May 2007
Mensajes: 87
|
|
| Error tipo entero y fecha |
|
|
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.. |
|
|
|
Vie Jun 01, 2007 12:49 pm
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4226
Ubicación: Valladolid, España
|
|
|
|
|
| Si los campos de la tabla han sido creados con el atributo 'NOT NULL' sacará ese tipo de errores. |
|

Lun Jun 04, 2007 8:55 am
|
 |
marcosss
Perlero Nuevo

|
Registrado: 14 May 2007
Mensajes: 87
|
|
|
|
|
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: |
| 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:
| php: | $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()); |
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? |
|

Lun Jun 04, 2007 9:52 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4226
Ubicación: Valladolid, España
|
|
|
|
|
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? |
|
Lun Jun 04, 2007 10:07 am
|
 |
marcosss
Perlero Nuevo

|
Registrado: 14 May 2007
Mensajes: 87
|
|
|
|
|
| Muchas gracias, pero ya he subsanado el error, el fallo estaba en unas comillas, que ya he solucionado, muchas gracias de todas maneras. |
|
Powered by phpBB © 2001, 2005 phpBB Group
|