Foros del Web » Programando para Internet » PHP »

llenando tablas con LOAD DATA INFILE ...

Estas en el tema de llenando tablas con LOAD DATA INFILE ... en el foro de PHP en Foros del Web. hola a todos estoy tratando de llenar mis tablas utilizando la sentencia LOAD DATA INFILE. tengo un problema, al hacer la misma insercion desde phpmyadmin ...
  #1 (permalink)  
Antiguo 25/07/2008, 10:20
Avatar de payo22  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 839
Antigüedad: 21 años, 5 meses
Puntos: 1
Pregunta llenando tablas con LOAD DATA INFILE ...

hola a todos

estoy tratando de llenar mis tablas utilizando la sentencia LOAD DATA INFILE.

tengo un problema, al hacer la misma insercion desde phpmyadmin lo carga correctamente, es decir

INSERT INTO `user` VALUES (2, 0x417274656d696f)

donde 0x417274656d696f= Artemio

pero si esta misma sentencia la ejecuto desde mi programa php inserta 0x417274656d696f tal cual, no se si exista algun tipo de codificacion o algo asi.


mi programa es el siguiente:

[php]
$link=mysql_connect("localhost","usuario","pass");
mysql_select_db("wiki11",$link);

$sql="LOAD DATA INFILE 'c:\/wamp\/www\/tablas\/user.txt' into table user fields terminated by ',' lines terminated by '\\n'";
echo $sql."<br>";
mysql_query($sql,$link) or die("Error $sql <br>MySQL dice: ".mysql_error());

mysql_close($link);

[php]

mi archivo user.txt:

(2, 0x417274656d696f);

los resultados al hacer la consulta son:

usando phpmyadmin

id_user|user_name|
2 |Artemio |

utilizando el programa

id_user| user_name |
2 | 0x417274656d696f |


alguien sabe cual es el problema?

gracias
  #2 (permalink)  
Antiguo 25/07/2008, 10:23
Avatar de eft0  
Fecha de Ingreso: junio-2003
Ubicación: Santiago - Chile
Mensajes: 635
Antigüedad: 20 años, 10 meses
Puntos: 9
Respuesta: llenando tablas con LOAD DATA INFILE ...

1.- Muestrame una linea de tu archivo TXT
2.- Cual es el resultado esperado?
__________________
eft0's stuff! - http://estebanfernandez.net
  #3 (permalink)  
Antiguo 25/07/2008, 10:29
Avatar de payo22  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 839
Antigüedad: 21 años, 5 meses
Puntos: 1
Respuesta: llenando tablas con LOAD DATA INFILE ...

mi archivo user.txt:

(2, 0x417274656d696f);

mi resultado esperado es como lo muestra el phpmyadmin

id_user|user_name|
2 |Artemio |
  #4 (permalink)  
Antiguo 25/07/2008, 10:34
Avatar de eft0  
Fecha de Ingreso: junio-2003
Ubicación: Santiago - Chile
Mensajes: 635
Antigüedad: 20 años, 10 meses
Puntos: 9
Respuesta: llenando tablas con LOAD DATA INFILE ...

La funcion LOAD DATA carga en MySQL los datos que vienen en un archivo de texto, y en tu archivo de texto no esta en ningún lado la cadena "Artemio", no comprendo como el phpMyAdmin te da ese resultado...
__________________
eft0's stuff! - http://estebanfernandez.net
  #5 (permalink)  
Antiguo 25/07/2008, 10:47
Avatar de payo22  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 839
Antigüedad: 21 años, 5 meses
Puntos: 1
Respuesta: llenando tablas con LOAD DATA INFILE ...

si yo tampoco comprendo como es que lo hace el phpmyadmin, el resultado que da, es el que quiero obtener.

no se si haya algun tipo de codificacion

gracias
  #6 (permalink)  
Antiguo 25/07/2008, 12:13
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Respuesta: llenando tablas con LOAD DATA INFILE ...

Cuando una cadena empieza por 0x.... es por que el campo es un campo binario, phpmyadmin lo convierte directamente, supongo, por eso te convierte esa cadena (0x41727...) en Artemio, yo creo que debe haber alguna sentencia tipo "SET...." para mysql a poner antes de ninguna instruccion para que te convierta esos campos a la cadena correcta.

yo creo que van por ahi los tiros
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:26.