importar csv a mysql
![]()
Nivel 1 (4 posts)
0 
| #0 | ![]() |
shilensis | 20 abr 07 |
Wenas, wenas, camaradas de foro; esta es mi primer posteo; y pa variar traigo un problemilla. necesito importar datos desde un csv y que se carguen en mi bd. Esto lo hago a través de un input tipo file de un formulario que busca el archivo csv, para luego recoger los datos contenidos en él e insertarlos en mi bd a través de Load Data Local Infile. Suena bonito, pero sólo me funciona en mi servidor de prueba local (IIS), al subirlo a un host sólo aparece el form y al enviar la información se recarga el form pero no envia nada de nada. Necesito vuestra ayuda porfa. Trabajo con el PHP 4.3 y Mysql 5.0 (Desde PhpMyAdmin se puede hacer, pero quienes deben importar los csv desean algo simple y rápido). Acá les adjunto el código con el cual estoy trabajando. De antemanos muchisimas gracias.
//
<?php
include(\'connect.php\');
mysql_connect($servidor, $usuario, $password) or die(mysql_error());
mysql_select_db($database);
//la siguiente linea solo crea la tabla si no existe
include(\'nueva_tabla.php\');
/*
comienza la lectura de archivo
para simplificar, solo utilizaremos como valor variable el nombre del fichero
y asumiremos:
-campos separados por punto y coma
-las lineas terminan con salto de linea
-debe ignorar la primera linea del fichero
-hemos definido los 3 campos
*/
if (isset($archivo)) {
$query = \"LOAD DATA LOCAL INFILE \'\".$archivo.\"\' REPLACE INTO TABLE tabla FIELDS TERMINATED BY \';\' LINES TERMINATED BY \'\\r\\n\' IGNORE 1 LINES (id,nombre,edad)\";
mysql_query($query) or die(mysql_error());
}
//terminado!!!
?>
<html>
<head>
<title>Cargar Datos</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
</head>
<body>
<form action=\"\" method=\"post\" enctype=\"multipart/form-data\">
<input name=\"archivo\" type=\"file\" id=\"archivo\">
<input type=\"submit\" name=\"cargar datos\" value=\"Submit\">
</form>
<?php if (isset($archivo)) {?>
<p>
<a href=\"tabla_result.php\">Ver resultado</a></p>
<?php } ?>
//
<?php
include(\'connect.php\');
mysql_connect($servidor, $usuario, $password) or die(mysql_error());
mysql_select_db($database);
//la siguiente linea solo crea la tabla si no existe
include(\'nueva_tabla.php\');
/*
comienza la lectura de archivo
para simplificar, solo utilizaremos como valor variable el nombre del fichero
y asumiremos:
-campos separados por punto y coma
-las lineas terminan con salto de linea
-debe ignorar la primera linea del fichero
-hemos definido los 3 campos
*/
if (isset($archivo)) {
$query = \"LOAD DATA LOCAL INFILE \'\".$archivo.\"\' REPLACE INTO TABLE tabla FIELDS TERMINATED BY \';\' LINES TERMINATED BY \'\\r\\n\' IGNORE 1 LINES (id,nombre,edad)\";
mysql_query($query) or die(mysql_error());
}
//terminado!!!
?>
<html>
<head>
<title>Cargar Datos</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
</head>
<body>
<form action=\"\" method=\"post\" enctype=\"multipart/form-data\">
<input name=\"archivo\" type=\"file\" id=\"archivo\">
<input type=\"submit\" name=\"cargar datos\" value=\"Submit\">
</form>
<?php if (isset($archivo)) {?>
<p>
<a href=\"tabla_result.php\">Ver resultado</a></p>
<?php } ?>
