如果图像未存储在数据库中,我正在尝试显示默认图像。然后只显示存储在数据库中的图像。我该如何解决这个问题呢?感谢
conecta.php
<? ini_set('error_reporting',E_ALL);
ini_set('display_errors','on');
$oConni=new mysqli('localhost','****','****','****');
$oConni->set_charset('utf8');
?>
images.php
<?php
require('conecta.php');
$stmt=$oConni->prepare("SELECT IMAGEN_IMAGENES FROM IMAGENES WHERE ID_PRODUCTOS_OFERTADOS=?");
$stmt->bind_param('i',$_GET['idPrdOfr']);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($foto);
while ($stmt->fetch()) {
header('Content-Type: image/jpeg');
echo $foto;
}
?>
的search.php
function pintaImagen($id_prod_ofertados){
$pintaImg=null;
require ('conecta.php');
$xSQL="SELECT IMAGEN_IMAGENES FROM IMAGENES WHERE ID_PRODUCTOS_OFERTADOS=?";
$stmt = $oConni->prepare($xSQL) or die($oConni->error);
$stmt->bind_param('i',$id_prod_ofertados);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($imagen);
while ($stmt->fetch()) {
if (isset( $imagen )){
$pintaImg.="<img class='img' src='images.php?idPrdOfr=" . $id_prod_ofertados . "' />";
}
else{
$pintaImg.="<img class='img' src='images/none.png' />";
//$pintaImg;
}
return $pintaImg;
}
}
答案 0 :(得分:1)
可能需要这样:
if ($stmt->fetch() && isset( $imagen )) {
$pintaImg.="<img class='img' src='images.php?idPrdOfr=" . $id_prod_ofertados . "' />";
} else {
$pintaImg.="<img class='img' src='images/none.png' />";
//$pintaImg;
}
return $pintaImg;
而不是search.php
中的while循环。