Foros del Web » Programando para Internet » PHP »

Mostrar imagen desde mysql, no va

Estas en el tema de Mostrar imagen desde mysql, no va en el foro de PHP en Foros del Web. Hola, sigo dandole vueltas al tema de las imagenes en bases de datos y hoy que he conseguido un codigo muy sencillo he logrado introducir ...
  #1 (permalink)  
Antiguo 19/12/2007, 12:57
 
Fecha de Ingreso: febrero-2006
Mensajes: 103
Antigüedad: 18 años, 2 meses
Puntos: 1
Mostrar imagen desde mysql, no va

Hola, sigo dandole vueltas al tema de las imagenes en bases de datos y hoy que he conseguido un codigo muy sencillo he logrado introducir la imagen en un campo blob de una base de datos llamada "base" con una tabla llamada "tbl_banner" que contiene dos campos, uno llamado "id" int autoincrementable y otro llamado "imagen" de tipo blob.

Como he dicho, he logrado introducir la imagen, por lo tanto en el siguiente codigo he encerrado entre comentario el codigo de introducirla. El problema esta cuando intento mostrar la imagen en la pagina. Lo unico que me muestra es:

http://localhost/prueba

Pero no muestra la imagen que es lo que me interesa.

El codigo que tengo es el siguiente:

Cita:
<?php

$link = mysql_connect('localhost', 'root', '');
if (!$link)
die('Error al conectarse con MySQL: ' . mysql_error().' <br>Número del error: '.mysql_errno());
if (! @mysql_select_db("base",$link)){
echo "No se pudo conectar correctamente con la Base de datos";
exit();
}
else
{
echo "Conexion Correcta";
}

/* Meter la imagen */

/*
$image = imagecreatefromjpeg('imagen.jpeg');
ob_start();
imagejpeg($image);
$jpg = ob_get_contents();
ob_end_clean();


$jpg = str_replace('##','##',mysql_escape_string($jpg));
$result = mysql_query("INSERT INTO tbl_banner SET Imagen='$jpg'");

*/

/* Mostrar la imagen */

$result = mysql_query("SELECT imagen FROM tbl_banner WHERE id=1");
$result_array = mysql_fetch_array($result);
header("Content-Type: image/jpeg");
echo $result_array[0];



?>
No logro entender donde esta el error, ya que estoy utilizando un codigo que he visto ligeramente similar en otros sitios.

Saludos.
  #2 (permalink)  
Antiguo 19/12/2007, 13:05
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Mostrar imagen desde mysql, no va

El problema es que tu script para mostrar la imagen debe de estar en otro archivo, y para mostrar la imagen debes de hacerlo con una etiqueta de image:
Código HTML:
<img src="tu_script.php" /> 
Asi podras mostrar tu imagen.

Saludos.
  #3 (permalink)  
Antiguo 20/12/2007, 11:13
 
Fecha de Ingreso: febrero-2006
Mensajes: 103
Antigüedad: 18 años, 2 meses
Puntos: 1
Re: Mostrar imagen desde mysql, no va

Gracias GatorV, esa parte esta resuelta, en el tutorial donde lo lei no ponia nada de eso asi que muchas gracias.

Por otra parte, analizando un poco mas detenidamente al intentar insertar la imagen en la base de datos me suerta el siguiente error:

ERROR :You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\0JFIF\0\0\0\0\0\0ÿþ\0>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default ' at line 1

El ultimo codigo que tengo, que lo volvi a escribir por si hubiese cometido un error anteriormente es el siguiente:

Archivo insertar.php
Cita:
<?php

include("conexion.php");

$image = imagecreatefromjpeg('imagen.jpeg');
ob_start();
imagejpeg($image);
$jpg = ob_get_contents();
ob_end_clean();

$jpg = str_replace('##','##',mysql_escape_string($jpg));
$valor = "insert into imagenusuarios set img=" . $jpg;

$result = mysql_query($valor) or die('ERROR :'.mysql_error());

?>
Archivo mostrar.php
Cita:
<?php

$result = mysql_query("SELECT img FROM imagenusuarios WHERE id=1");
$result_array = mysql_fetch_array($result);
header("Content-Type: image/jpeg");
echo $result_array[0];

?>
El Archivo mostrar.htm es tal y como tu me dijistes.

No logro encontrar sobre este error en google, haber si alguien lo entiende.

Gracias.
  #4 (permalink)  
Antiguo 20/12/2007, 11:37
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Mostrar imagen desde mysql, no va

Prueba este query:
Código PHP:
$valor "insert into imagenusuarios set img='" addslashes($jpg) . "'"
Saludos.
  #5 (permalink)  
Antiguo 21/12/2007, 06:16
 
Fecha de Ingreso: febrero-2006
Mensajes: 103
Antigüedad: 18 años, 2 meses
Puntos: 1
Re: Mostrar imagen desde mysql, no va

Ok, ahora si introduce las imagenes en la base de datos, he introducido la misma dos veces y con phpmyadmin puedo ver que estan ahi, una con id 1 y la otra id 2.

Pero sigue sin mostrar la imagen cuando cargo imagen.htm, aparece el tipico simbolo que sale cuando no hay imagen.

No entiendo que es lo que pasa.
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 04:15.