Cita:
Iniciado por ricardomz
Código PHP:
for ($n=0;$n<3;$n++) {
if (!$insertNames[$n] || !$insertUsers[$n] || !$insertPasswords[$n])
continue;
$insertSQL = sprintf("INSERT INTO ...);
$Result1 = mysql_query($insertSQL, $conexion) or die(mysql_error());
}
Hola ricardomz,
Creo que el problema está en el continue. Lo que tienes puesto es equivalente a lo siguiente:
Código PHP:
for ($n=0;$n<3;$n++) {
if (!$insertNames[$n] || !$insertUsers[$n] || !$insertPasswords[$n])
{
continue;
}
$insertSQL = sprintf("INSERT INTO ...);
$Result1 = mysql_query($insertSQL, $conexion) or die(mysql_error());
}
Así, el if no tiene ningún efecto, ya que el continue no hace referencia al for, sino al if y, en cualquier caso, continua ejecutando el insert.
Para solucionarlo, no uses el continue; simplemente cambia la condición del if para que si se cumple, haga el insert:
Código PHP:
for ($n=0;$n<3;$n++) {
if (!(!$insertNames[$n] || !$insertUsers[$n] || !$insertPasswords[$n]))
{
$insertSQL = sprintf("INSERT INTO ...);
$Result1 = mysql_query($insertSQL, $conexion) or die(mysql_error());
}
}
En general, te recomiendo evitar el uso de continue y break en bucles o en if's, ya que complican el seguimiento del código y fácilmente dan problemas de ejecución si no se tiene cuidado.
Salu2,
Carlos.