Hola Estimados, Explico un poco mejor lo que pasa:
Estoy teniendo problemas, lo que necesito hacer, es seleccionar de un
cuadro multiseleccion un elemento de una tabla que contiene un
archivo en formato blob y enviarlo por email.
Bueno hice una funcion en el datos tabla que le envio un id y me
devuelve el registro de la tabla get_listadoId($id),
--------------------------------------------- funcion
function get_listadoId($id)
{
$sql = "SELECT
t_da.id,
t_da.numero,
t_da.fecha_creacion,
t_da.imagen, /// Dato de tipo bytea o Blob
t_da.planilla_pdf,
t_da.planilla_pdf_firmada,
t_da.nombre_arch,
t_da.anio,
t_da.descripcion,
t_dt.tema_nombre as fk_tema_nombre,
t_dtd.tdoc_nombre as fk_tipo_doc_nombre,
t_de.est_nombre as fk_estado_nombre,
t_de1.emi_nombre as fk_emisor_nombre FROM
dig_archivo as t_da where t_da.id = ".$id;
return toba::db('digesto')->consultar($sql);
}
luego------------------------------------------
//obtengo el dato que necesito
$datos = $this->dep(‘datos’)->tabla(‘dig_archivo’)->get_listadoId(1);
// quiero cargar el cursor, pero me da error
$this->dep(‘datos’)->tabla(‘dig_archivo’)->cargar($datos[0]);
// entonces no puedo recuperar el dato con el get_blob(‘imagen’);
$fp_imagen = $this->dep(‘datos’)->tabla(‘dig_archivo’)->get_blob(‘imagen’);
Con esta funcion (get_listadoId(1)), pasandole como parametro una
variable de entorno, donde guardo los datos seleccionados en la tabla,
obtengo
el dato que necesito.
Lo que no se hacer, es cargar el cursor con ese dato obtenido para
poder realizar el tratamiento de la imagen, con el get_blob(‘imagen’)
me da el siguiente error al cargar el dato.
----------------------------------------------ERROR-----------------------------------------------------
SQLSTATE: db_42601
CODIGO: 7
MENSAJE: Error cargando la tabla dig_archivo, a continuación el
mensaje de la base:
ERROR: syntax error at or near “AND” LINE 19: dig_archivo.imagen = AND ^
SQL: SELECT dig_archivo.id, dig_archivo.numero,
dig_archivo.fecha_creacion, dig_archivo.planilla_pdf_firmada,
dig_archivo.nombre_arch, dig_archivo.anio, dig_archivo.descripcion,
dig_archivo.fk_tema, dig_archivo.fk_tipo_doc, dig_archivo.fk_estado,
dig_archivo.fk_emisor FROM dig_archivo as dig_archivo WHERE
dig_archivo.id = “1” AND dig_archivo.numero = “99” AND
dig_archivo.fecha_creacion = “2017-06-05” AND dig_archivo.imagen = AND
dig_archivo.planilla_pdf IS NULL AND dig_archivo.planilla_pdf_firmada
= “0” AND dig_archivo.nombre_arch = “toba_1.2.0 (1).pdf” AND
dig_archivo.anio = “2015” AND dig_archivo.descripcion = “dfasdfasdf”
AND dig_archivo.fk_tema = “1” AND dig_archivo.fk_tipo_doc = “1” AND
dig_archivo.fk_estado = “1” AND dig_archivo.fk_emisor = “2” –
toba_log: 867022939
al parecer el metodo no recupera el dato de tipo bytea(
dig_archivo.imagen no viene ese campo), me da el error al tratar de
cargarlo, por eso no puedo recuperar con el get_blob(‘imagen’) la
imagen cargada.
Tenes alguna idea de lo que estoy haciendo mal o como lo deberia hacer
para que funcione.
Dese ya muchas gracias y saludos.