Foros del Web » Programando para Internet » PHP »

Insertar Datos desde Archivos a Mysql

Estas en el tema de Insertar Datos desde Archivos a Mysql en el foro de PHP en Foros del Web. Hola Maestros: quisiera saber en donde tengo algo mal en el siguiente codigo. lo que hago es leer cada archivo dentro de una carpeta e ...
  #1 (permalink)  
Antiguo 18/02/2003, 14:16
Avatar de payo22  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 839
Antigüedad: 15 años, 1 mes
Puntos: 1
Insertar Datos desde Archivos a Mysql

Hola Maestros:
quisiera saber en donde tengo algo mal en el siguiente codigo.

lo que hago es leer cada archivo dentro de una carpeta e insertar este archivo en la base de datos.

la estructura de los archivos es la siguiente:

lo archivos con extension mysql.

76382,"1998-02-28 00", 878.0, 167.0, -999.0, -53.7, -84.7, -999.0, -999.0,,1
76382,"1998-02-28 00", 878.0, 160.0, -999.0, -52.3, -83.3, -999.0, -999.0,,1
76382,"1998-02-28 00", 878.0, 150.0, 13920.0, -55.3, -86.3, 256.0, 4.0,,1
76382,"1998-02-28 00", 878.0, 112.0, -999.0, -67.7, -95.7, -999.0, -999.0,,1
76382,"1998-02-28 00", 878.0, 100.0, 16420.0, -68.7, -96.7, 255.0, 62.0,,1


y el codigo es el siguiente.



<?php

$link = mysql_connect("localhost","root","admin");
mysql_select_db("RADIOSONDEO",$link);

$dir = opendir('ARCHIVOS_BD');

while(false !== ($file = readdir($dir))) {
if (($file != ".") and ($file != "..")){

$nom_tabla = split ('[.]',$file);
echo "$nom_tabla[0]"."<br>";
$Nom_arch = fopen("ARCHIVOS_BD/".$nom_tabla[0].".mysql","r");
while(!feof($Nom_arch)){
$cadena = fgets($Nom_arch,4096);
# echo "$cadena"."<br>";
$x = split('[,]',$cadena);

$fecha = split('["]',$x[1]);

if ($x[10]==1){
$tabla = "TTAA".$nom_tabla[0];
$fecha2 = $fecha[1];
$estacion = $x[0];
}

}
$dia = split('[- ]',$fecha2);

$algo = $fecha2.":00:00";

$sql = "SELECT Estacion,Fecha,PS,PP,HGT,TT,TD,DD,FF from $tabla where Estacion = $estacion and MONTH(Fecha) = $dia[1] AND YEAR(Fecha) = $dia[0]";
$result = mysql_query($sql,$link);
$bandera =0;
$archivo2 = $nom_tabla[0].".mysql";

do{
if (($estacion == $row[Estacion]) and ($algo == $row[Fecha])){
$bandera = 1;
}
}while($row = mysql_fetch_array($result));

if ($bandera == 1){

echo "Los datos del archivo $nom_tabla ya existen en la base de datos";
}

mysql_query("load data local infile '$archivo2' into table $tabla fields terminated by ',' enclosed by '' lines terminated by '\n'",$link);
echo "<p>Archivo dado de alta Satisfactoriamente</p> \n";

}

}

closedir($dir);

?>


ya que me dice que los inserta satisfactoriamente pero voy a la BD y no lo ha hecho y lo peor que no me marca ningun error y ya lo cheque no se que este mal.

gracias por su apoyo.
  #2 (permalink)  
Antiguo 18/02/2003, 15:23
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

¿Ya lo has comprobado con :
Código PHP:
mysql_query("load data local infile '$archivo2' into table $tabla fields terminated by ',' enclosed by '' lines terminated by '\n'",$link) or die(mysql_error()); 
?

Yo creo que puede ser que no encuentre el fichero. Pasale el path absoluto al fichero .mysql.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:13.