Foros del Web » Programando para Internet » PHP »

archivo + for + insert : problema

Estas en el tema de archivo + for + insert : problema en el foro de PHP en Foros del Web. Hola: con este codigo tengo un problema, me inserta solo la ultima fila del archivo. Hago "echos" de linea por linea y me las imprime ...
  #1 (permalink)  
Antiguo 24/02/2011, 14:47
 
Fecha de Ingreso: septiembre-2008
Mensajes: 2
Antigüedad: 16 años, 1 mes
Puntos: 0
Pregunta archivo + for + insert : problema

Hola: con este codigo tengo un problema, me inserta solo la ultima fila del archivo. Hago "echos" de linea por linea y me las imprime todas, pero en la base mysql me imprime un unico registro, con la ultima linea del archivo. Soluciones?

Codigo ----

<?
$link = mysql_connect("localhost", "user", "pass");
mysql_select_db("db", $link);
$lineas = file ("mi_archivo_utf8.txt");
for($i=1; $i < $lineas; $i++){
$sql="INSERT INTO `test` ( `tes_ID` , `tes_nombre` ) VALUES ".$archivo[$i];
mysql_query($sql, $link);}
mysql_close($link);
?>
  #2 (permalink)  
Antiguo 24/02/2011, 15:09
 
Fecha de Ingreso: agosto-2009
Mensajes: 216
Antigüedad: 15 años, 3 meses
Puntos: 3
Respuesta: archivo + for + insert : problema

Prueba con:

Código PHP:
<?php
$link 
mysql_connect("localhost""user""pass");
mysql_select_db("db"$link);
$vLineas file ("mi_archivo_utf8.txt");
 foreach (
$vLineas as $sLinea
{
$sql="INSERT INTO test ( tes_ID , tes_nombre) VALUES ('".$sLinea."')";
mysql_query($sql$link);
}
mysql_close($link);
?>
Un saludo.
  #3 (permalink)  
Antiguo 25/02/2011, 07:18
 
Fecha de Ingreso: septiembre-2008
Mensajes: 2
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: archivo + for + insert : problema

Gracias por la respuesta. Lo voy a probar! De todos modos quiero postear la solución que encontré para cerrar el topic y dejar la respuesta por si alguien la necesita.

Hay que poner el archivo txt con este formato:

esta es la linea ignorada en la sentencia
fecha,nombre
2004-03-15,Xulana
2000-09-09,Con Clase
1998-04-15,Pingrana
2004-03-15,Xulana
2000-09-09,Con Clase
1998-04-15,Pingrana
2004-03-15,Xulana
2000-09-09,Con Clase
1998-04-15,Pingrana


en la carpeta data del mysql (en localhost con xampp sería aquí):

C:\xampp\mysql\data\test\archivo.txt


y en la línea de comando de mysql ejecutar la siguiente linea

LOAD DATA INFILE "archivo.txt" INTO TABLE test FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n' IGNORE 1 LINES (fecha,nombre);


Saludos a todos!

Etiquetas: insert
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 21:57.