error al actualizar tabla mysql
Publicado por julio (54 intervenciones) el 23/09/2008 23:55:27
Envio script simplificado para ilustrar mi error:
Yo leo un txt con 12250 lineas en $Matriz[$i] y con la funcion substr voy extrayendo de cada linea los valores para los distintos campos. Aqui deje solo 2 campos
El for recorre perfectamente la mariz. La instruccion , responsable de actualizar la tabla agrega todos los registros leidos siempre y cuando este ausente la clausula OR DIE.
Pero si le pongo la condiccion OR DIE, como aqui, al intentar agregar el registro 80, corta automaticamente el For y no sigue agregando los demas registros.
$resultado=mysql_query($datos, $conexion);
or die ("ha fallado");
¿Es normal que funcione asi con OR DIE?
Otra duda que me surge, al consultar la tabla desde PhpAdmin, me dice que hay un total de 12189 registros.
Ante esto le puse un contador y a ese contador lo guardo en el campo contador y miro el valor del campo, y coincide con el total.
O sea PHPAdmin me dice que hay menos registros, pero veo el contador y coincide con el total de lineas que tiene la matriz. Esto es normal en PHPAdmin?
<?
for ($i=0;$i<count($Matriz_file);$i++) // Matriz viene con 12250 lineas
{
echo "Fila $i : $Matriz_file[$i]<br>"; // solo para mostrar
$Documento = substr($Matriz[$i],1,8)
echo $i
$datos = "insert into electores (Contador,Documento) values ($i, '$Documento') ";
// actualiza la tabla
$resultado=mysql_query($datos, $conexion);
or die ("ha fallado");
// Asi salta en la linea 80 y desativando Or Die pasa todas las lineas
}
}
?>
Yo leo un txt con 12250 lineas en $Matriz[$i] y con la funcion substr voy extrayendo de cada linea los valores para los distintos campos. Aqui deje solo 2 campos
El for recorre perfectamente la mariz. La instruccion , responsable de actualizar la tabla agrega todos los registros leidos siempre y cuando este ausente la clausula OR DIE.
Pero si le pongo la condiccion OR DIE, como aqui, al intentar agregar el registro 80, corta automaticamente el For y no sigue agregando los demas registros.
$resultado=mysql_query($datos, $conexion);
or die ("ha fallado");
¿Es normal que funcione asi con OR DIE?
Otra duda que me surge, al consultar la tabla desde PhpAdmin, me dice que hay un total de 12189 registros.
Ante esto le puse un contador y a ese contador lo guardo en el campo contador y miro el valor del campo, y coincide con el total.
O sea PHPAdmin me dice que hay menos registros, pero veo el contador y coincide con el total de lineas que tiene la matriz. Esto es normal en PHPAdmin?
<?
for ($i=0;$i<count($Matriz_file);$i++) // Matriz viene con 12250 lineas
{
echo "Fila $i : $Matriz_file[$i]<br>"; // solo para mostrar
$Documento = substr($Matriz[$i],1,8)
echo $i
$datos = "insert into electores (Contador,Documento) values ($i, '$Documento') ";
// actualiza la tabla
$resultado=mysql_query($datos, $conexion);
or die ("ha fallado");
// Asi salta en la linea 80 y desativando Or Die pasa todas las lineas
}
}
?>
Valora esta pregunta


0