Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Insertar LongBlob desde Consulta

Estas en el tema de Insertar LongBlob desde Consulta en el foro de Mysql en Foros del Web. Este es el dilema: Código PHP: /*Aqui hago un select del usuario que esta logeado*/ $resultq  =  mysql_query ( 'SELECT * FROM cat_usuarios WHERE usuario=\'' . $_SESSION [ 'k_username' ]. '\'' ); $rowq  =  mysql_fetch_array ( $resultq ); ...
  #1 (permalink)  
Antiguo 07/02/2011, 15:33
Avatar de triibhals  
Fecha de Ingreso: agosto-2010
Mensajes: 93
Antigüedad: 13 años, 7 meses
Puntos: 1
Insertar LongBlob desde Consulta

Este es el dilema:

Código PHP:
/*Aqui hago un select del usuario que esta logeado*/
$resultq mysql_query('SELECT * FROM cat_usuarios WHERE usuario=\''.$_SESSION['k_username'].'\'');
$rowq mysql_fetch_array($resultq);
$data$rowq[img];

/*Con este insert, intento ingresar la imagen del usuario logueado, pero me la inserta vacia*/
$sql="INSERT INTO cat_usuarios (usario, img) VALUES ('admin','$data')";
mysql_query($sql,$link); 
Alguien tiene idea de como hacer eso, o conoce algun tutorial?
__________________
No Deseo Suerte, Porque la Suerte es para la gente que no esta preparada, Te Deseo Exito ;D

http://www.paulpalacios.tk
  #2 (permalink)  
Antiguo 07/02/2011, 15:49
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Insertar LongBlob desde Consulta

Eso aparece en MySQL 5.0 Reference Manual :: 12 Funciones y operadores :: 12.3 Funciones para cadenas de caracteres:
Cita:
LOAD_FILE(file_name)

Lee el fichero y retorna el contenido como cadena de caracteres. El fichero debe estar localizado en el servidor, debe especificar la ruta completa al fichero, y debe tener el privilegio FILE . El fichero debe ser legible por todo el mundo y su tamaño menor a max_allowed_packet bytes.

Si el fichero no existe o no puede ser leído debido a que una de las anteriores condiciones no se cumple, la función retorna NULL.
Código MySQL:
Ver original
  1. mysql> UPDATE tbl_name
  2.            SET blob_column=LOAD_FILE('/tmp/picture')
  3.            WHERE id=1;
Simplificando: Primero tienes que subir al site el archivo en cuestión, y luego hacer el UPDATE (con INSERT habría que probar).
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 07/02/2011, 15:56
Avatar de triibhals  
Fecha de Ingreso: agosto-2010
Mensajes: 93
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Insertar LongBlob desde Consulta

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Eso aparece en MySQL 5.0 Reference Manual :: 12 Funciones y operadores :: 12.3 Funciones para cadenas de caracteres:

Simplificando: Primero tienes que subir al site el archivo en cuestión, y luego hacer el UPDATE (con INSERT habría que probar).
Muchas gracias, pero lo que necesito es algo que lea el campo longblob y lo inserte en otro campo longblob, la funcion que tu me proporcionas, lee el fichero y yo tengo el archivo en la base de datos, no la direccion de donde se encuentra el archivo
__________________
No Deseo Suerte, Porque la Suerte es para la gente que no esta preparada, Te Deseo Exito ;D

http://www.paulpalacios.tk
  #4 (permalink)  
Antiguo 07/02/2011, 19:06
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Insertar LongBlob desde Consulta

Si lo que deseas es transferir el contenido de un campo BLOB a otro campo BLOB, lo que te convendría es usar INSERT ... SELECT ..., pero para ello deberás especificar los campos del SELECT y no usar "*" a menos que la cantidad de campos coincidan entre INSERT y SELECT.
Código MySQL:
Ver original
  1. INSERT INTO cat_usuarios (usario, img)
  2. SELECT 'admin', img
  3. FROM cat_usuarios
  4. WHERE usuario= '$_SESSION['k_username'].';
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 08/02/2011, 10:00
Avatar de triibhals  
Fecha de Ingreso: agosto-2010
Mensajes: 93
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Insertar LongBlob desde Consulta

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Si lo que deseas es transferir el contenido de un campo BLOB a otro campo BLOB, lo que te convendría es usar INSERT ... SELECT ..., pero para ello deberás especificar los campos del SELECT y no usar "*" a menos que la cantidad de campos coincidan entre INSERT y SELECT.
Código MySQL:
Ver original
  1. INSERT INTO cat_usuarios (usario, img)
  2. SELECT 'admin', img
  3. FROM cat_usuarios
  4. WHERE usuario= '$_SESSION['k_username'].';
Ok Lo Probrare y te aviso que sucedio
__________________
No Deseo Suerte, Porque la Suerte es para la gente que no esta preparada, Te Deseo Exito ;D

http://www.paulpalacios.tk
  #6 (permalink)  
Antiguo 08/02/2011, 10:04
Avatar de triibhals  
Fecha de Ingreso: agosto-2010
Mensajes: 93
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Insertar LongBlob desde Consulta

Muchas gracias funciono a la perfeccion ;)
__________________
No Deseo Suerte, Porque la Suerte es para la gente que no esta preparada, Te Deseo Exito ;D

http://www.paulpalacios.tk
  #7 (permalink)  
Antiguo 08/02/2011, 12:19
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Insertar LongBlob desde Consulta

__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: longblob
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:16.