如果数据库中没有特定图像,如何显示默认图像?

raj*_*mar 5 php mysql

如果该图像在数据库中不可用,如何显示特定图像?我有

  1. 数据库名称:项目
  2. 表名:图像
  3. fields:id(int),file(varchar)[image url stored here],name(varchar)[image description]

PHP代码在这里:

<?php
$con=mysql_connect("localhost","root","") or die("no connection ");
mysql_select_db("project")or die("no database exit");
echo "<h2 align='center'>Displaying image from database</h2>";
$res=mysql_query("SELECT * FROM image");
echo "<table>";
while ($row=mysql_fetch_array($res)) {
    echo "<tr>";
    echo "<td>";echo $row["id"];echo "</td>";
    echo "<td>"; ?> <img src="<?php echo $row["file"]; ?>" height="100px" width="150px">    <?php echo "</td>";
    echo "<td>";  echo $row["name"]; echo "</td>"; 
    echo "</tr>";   
}
?>
</table>
Run Code Online (Sandbox Code Playgroud)

Man*_*mar 4

只需使用@getimagesize描述w3school php.net此方法将检查图像是否确实存在。如果从数据库或目标中删除图像,将返回 false。

<? 
$img="image url"; //orginal image url from  db 
if(!@getimagesize($img))
{
    $img="default image"         //if image not found this will display
 }

?> 
Run Code Online (Sandbox Code Playgroud)

更新

对于您的代码,请像这样使用

<?php
$con=mysql_connect("localhost","root","") or die("no connection ");
mysql_select_db("project")or die("no database exit");
echo "<h2 align='center'>Displaying image from database</h2>";
$res=mysql_query("SELECT * FROM image");
echo "<table>";
while ($row=mysql_fetch_array($res)) {
     $img=$row["file"]; //orginal image url from  db 
    if(!@getimagesize($img))
    {
        $img="default image"         //if image not found this will display
     }

    echo "<tr>";
    echo "<td>";echo $row["id"];echo "</td>";
    echo "<td>"; ?> <img src="<?php echo $img; ?>" height="100px" width="150px">    <?php echo "</td>";
    echo "<td>";  echo $row["name"]; echo "</td>"; 
    echo "</tr>";   
}
?>
</table>
Run Code Online (Sandbox Code Playgroud)