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:
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.019 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?