Foros del Web » Programando para Internet » PHP »

Proble al cargar un archivo .cvs en la base de datos

Estas en el tema de Proble al cargar un archivo .cvs en la base de datos en el foro de PHP en Foros del Web. Amogos, tengo el siguiente código para cargar un archivo .cvs en la base de datos. El problema está en que si hay algun campo que ...
  #1 (permalink)  
Antiguo 17/02/2008, 16:02
 
Fecha de Ingreso: junio-2003
Mensajes: 67
Antigüedad: 20 años, 10 meses
Puntos: 0
Proble al cargar un archivo .cvs en la base de datos

Amogos, tengo el siguiente código para cargar un archivo .cvs en la base de datos.
El problema está en que si hay algun campo que tenga una palabara como por ejemplo O'HIGGINS el sistema se cae y acusa error. Si alguien me ayudara a solucionarlo se los agradecería mucho. Me pasa con varias tablas que tengo que subir

<?
$fecha = date('Y_m_d');
$archivo='comunas.csv';
if (file_exists("$archivo"))
{
// echo "El fichero existe";

$borrar = mysql_query ("delete from COMUNAS ")
or die("Query inválido: " . mysql_error());
?>
<?php
$row = 1;
$handle = fopen("$archivo", "r");
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
$num = count($data);
// echo "<p> $num fields in line $row: <br /></p>\n";
$row++;
for ($c=0; $c < $num; $c++) {
// echo $data[$c] . "<br />\n";

}
$result = mysql_query ("insert into COMUNAS (CODIGO_PAIS, CODIGO_ESTADO, CODIGO_CIUDAD, CODIGO_COMUNA, COMUNA, CODIGO_POSTAL_COMUNA) VALUES ('$data[0]', '$data[1]', '$data[2]', '$data[3]', '$data[4]', '$data[5]')")
or die("Query inválido: " . mysql_error());
}
fclose($handle);

rename($archivo, $fecha.$archivo);

header ("Location: ../index.php");

}
else
{
echo "El archivo no existe";
}
?>

Con esto verifico si al erchivo existe, lo cargo en la base de datos y lo renombro para que no lo vuelva a cargar
De antemano muchas gracias por la ayuda
  #2 (permalink)  
Antiguo 17/02/2008, 16:13
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: Proble al cargar un archivo .cvs en la base de datos

Creo que el CSV es separado por comas en esta linea tienes ;

Código PHP:
while (($data fgetcsv($handle1000";")) !== FALSE
Deberia ser asi:
Código PHP:
while (($data fgetcsv($handle1000",")) !== FALSE
Y cual es el error que te muestra.

Saludos.
  #3 (permalink)  
Antiguo 17/02/2008, 16:31
 
Fecha de Ingreso: junio-2003
Mensajes: 67
Antigüedad: 20 años, 10 meses
Puntos: 0
Re: Proble al cargar un archivo .cvs en la base de datos

Lo del ; es el separador de campos que se esta usando, si pongo solo una coma tendria que tener los campos separados por , si los tengo separados por ; tengo que poner ahi un ;

El error que de es al siguiente:

Query inválido: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ane', '')' at line 1

en la parte que dice to use near 'ane', el combre es 'colh'ane'
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 12:25.