PHP - Mostrar una imagen de SQLSERVER

   
Vista:

Mostrar una imagen de SQLSERVER

Publicado por Santiago (8 intervenciones) el 23/03/2018 21:16:47
Buenos dias.
Tengo un problema de como mostrar imagenes en php desde una base de datos en SQLSERVER.
La tabla tiene los campos: Id_tabla, Imagen, Imagenampliada. Con sus codigos en binario


Mi poblema reside en mostrar las imagenes estoy usando Xampp y el codigo es este




<?php
$serverName = "DESKTOP-TI88AMC"; //serverName\instanceName

// Puesto que no se han especificado UID ni PWD en el array $connectionInfo,
// La conexión se intentará utilizando la autenticación Windows.
$connectionInfo = array( "Database"=>"KirDkasaWeb");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
echo "Conexión establecida.<br />";
}else{
echo "Conexión no se pudo establecer.<br />";
die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT * FROM TB_IMAGENES_PRODUCTOS WHERE Id_Imagen='1000'";
$consulta = sqlsrv_query($conn,$sql);
$datos = sqlsrv_fetch_array($consulta);
header('Content-type: ' . "jpg");
echo $datos["anexo"];


?>




Me sale este error :s: Notice: Undefined index: anexo in C:\xampp\htdocs\Php\Prueba.php on line 30
Nose como solucionarlo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Mostrar una imagen de SQLSERVER

Publicado por italo (91 intervenciones) el 24/03/2018 06:16:46
Hola, te da ese error ya que no existe en tu tabla ningun campo "anexo" (tu has escrito que los campos son: Id_tabla, Imagen, Imagenampliada.) recuerda que los nombres de la select de sql deben de coincidir con los que declaras en entre [" "].

para recorrer los resultados, debes de crear un ciclo (while), de esa manera podras trabajar con los resultados de la select.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
$serverName = "DESKTOP-TI88AMC"; //serverName\instanceName
 
// Puesto que no se han especificado UID ni PWD en el array $connectionInfo,
// La conexión se intentará utilizando la autenticación Windows.
$connectionInfo = array( "Database"=>"KirDkasaWeb");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
 
if( $conn ) {
echo "Conexión establecida.<br />";
}else{
echo "Conexión no se pudo establecer.<br />";
die( print_r( sqlsrv_errors(), true));
}
 
$sql = "SELECT * FROM TB_IMAGENES_PRODUCTOS WHERE Id_Imagen='1000'";
 
$consulta = sqlsrv_query($conn,$sql);
 
/* inicio - codigo modificado */
 
while($datos = sqlsrv_fetch_array($consulta)) {
 
	$id_tabla = $datos ['Id_tabla'];
	$imagen = $datos ['Imagen'];
	$imagen_ampliada = $datos ['Imagenampliada'];
 
header('Content-type: ' . "jpg");
 
//puedes hacer el echo de $id_tabla o $imagen_ampliada 
 
echo $imagen;
 
/* fin - codigo modificado */
 
}
?>

salud2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Mostrar una imagen de SQLSERVER

Publicado por Santiago (8 intervenciones) el 29/03/2018 17:47:02
Gracias por responder.
Ahora ya me sale el codigo en binario y he intentado cambiar el header o llamar un archivo para abrir la imagen y me sigue apareciendo el codigo en binario. Agradeceria que me ayudaras en como transformo ese binario en foto ya para mostrarla
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar