Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/10/2011, 14:25
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: problema con data load infile

Si estás intentando hacer esto en un hosting, primero deberías comprobar que el usuario que te proveen tenga permisos de FILE, sin lo cual no podrás hacer una carga remota. Ten en cuenta que la clausula LOCAL le indica al MySQL que el archivo no está en el servidor sino en la PC del cliente (la tuya, por caso), y para eso necesitas permisos de FILE.
Por otro lado, sería bueno que nos digas qué versión de MySQL tiene el servidor donde estás tratando de cargar los datos. Si hay diferencias entre la que usas y la del hosting, puede explicar mucho.
Además, ten cuidado con el "\n" que pones en el string. un "n" escapado es interpretado por el PHP como un salto de línea y llega incorrectamente al server de MySQL. Para que PHP lo tome bien deberías escapar el escape:
Código PHP:
Ver original
  1. mysql_query("LOAD DATA local INFILE '/alsuper2/$filename' INTO TABLE $ttmp FIELDS TERMINATED BY ',' LINES TERMINATED BY '\\n'") or die("Error:".mysql_error());
de ese modo el escape llegará a MySQL correctamente.

Finalmente, es necesario que compruebes que el archivo que intentas subir esté en UTF-8, de lo contrario MySQL leerá cualquier basura.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)