que tal, puedes cambiar esto por favor y ver como te va. $consulta = "SELECT * FROM preguntas WHERE ".$t."cCodPre".$t."='$cod'";
Por Los campos y donde sea bytea pone esto coalesce(archivo_bytea,'-1') as archivo_bytea y revisa este link, tengo un sitio de pruebas andando con bytea y oid y funciona bien, hay un ejemplo bueno aca. http://www.buayacorp.com/archivos/guardar-y-recuperar-un-archivo-en-un-campo-blob-de-postgresql-con-php/ Espero te sirva. 2010/5/14 Alfredo Zea García Calderón <[email protected]>: > Hola, necesito ayuda porfavor. Estoy tratando de descargar un archivo subido > a un campo BYTEA, mi problema es que al momento de descargarlo se muestran > solo caracteres y en el caso de ser una imagen me sale un error que dice > archivo corrupto. > > Este es el codigo con el que inserto el archivo en la BD: > > $conexion_bd = pg_connect("host=localhost dbname=ISO17799 user=postgres > password=postgres") > or die('No pudo conectarse: ' . pg_last_error()); > > > $file = "C:\Users\Alfredo\Desktop\imagen.jpg"; > > $data = file_get_contents($file); > > $escaped = pg_escape_bytea($data); > > $t='"'; > $cod = "0"; > > $consulta = "UPDATE preguntas SET ".$t."bArchiv".$t."=E'$escaped'::bytea > WHERE ".$t."cCodPre".$t."='$cod'"; > > $resultado = pg_query($consulta) or die('Consulta fallida: ' . > pg_last_error()); > > > > > Y este es el codigo con el que descargo el archivo: > > > header('Content-type: image/jpg'); > > $conexion_bd = pg_connect("host=localhost dbname=ISO17799 user=postgres > password=postgres") > or die('No pudo conectarse: ' . pg_last_error()); > > $cod = "0"; > $t = '"'; > $consulta = "SELECT * FROM preguntas WHERE ".$t."cCodPre".$t."='$cod'"; > $resultado = pg_query($consulta) or die('Consulta fallida: ' . > pg_last_error()); > > $row = pg_fetch_array($resultado); > > pg_free_result($resultado); > > header("Cache-control: private"); > > //$row[4] es la columna de la tabla que tiene el campo BYTEA > $file=pg_unescape_bytea($row[4]); > > > header("Content-Disposition: attachment; filename=imagen.jpg"); > > print $file; > > > > Porfavor espero puedan ayudarme, no se como arreglar esto. Gracias. > > Saludos. -- Saludos, Horacio Miranda Aguilera. RedHat Certified Engineer DBA Oracle - Large databases +56 2 8974500 - Enviado a la lista de correo pgsql-es-ayuda ([email protected]) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda
