我从数据库中提取的图像有时不会在浏览器中显示,但如果我查看源代码,它们就会显示

时间:2011-04-24 10:28:38

标签: php mysql image

我开始开发一个从数据库中随机抽取两张图像的网站。

我为一个变量分配一个随机数,介于1和我数据库中存储的图像数量之间。然后我查询数据库以查找该ID,并在HTML图像标记中显示图像。这工作正常,两个图像随机出现,我检查,以确保它们永远不会相同。但有时,一个或两个图像不会出现在页面上,但如果我查看源代码,它们就会出现在那里。

(我应该注意到图像实际上并不存储在数据库中,只是它们的名称是)

以下是我用来从数据库中删除它们的代码

function selectImage($id)
{
    $query = "SELECT * FROM Images WHERE id = $id";
    $result = mysql_query($query) or die (mysql_error());

    while($row = mysql_fetch_array($result) {
        $image = $row['image'];
        echo "<img src='" . $image . "' />";
    }
}

任何人都知道为什么这只会有时显示图像?我很高兴让它显示另一组图像。

1 个答案:

答案 0 :(得分:1)

有时将文件系统与数据库同步可能会很棘手:如果您能够在HTML中查看src,并且图像没有出现,那么图像可能不存在,名称是数据库中存储不正确,或者扩展名未正确保存(存储.jpg但文件为.jpeg或.JPG)