【问题标题】:Images I pull from a database sometimes don't show in the browser, but they do if I view the source我从数据库中提取的图像有时不会显示在浏览器中,但如果我查看源代码就会显示
【发布时间】:2011-08-11 19:38:55
【问题描述】:

我已经开始开发一个从数据库中随机提取两张图片的网站。

我为变量分配了一个随机数,介于 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 . "' />";
    }
}

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

【问题讨论】:

  • 更好的方法是在查询中使用 order by randLIMIT 2
  • 谢谢,我不知道您可以通过 rand 订购。这似乎要容易得多。 xD

标签: php mysql image


【解决方案1】:

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

【讨论】:

  • 我可以在源代码中看到它,当我单击源代码中的链接(使用 firefox)时,它实际上将我带到了图像。所以我怀疑是这样的。
  • 您是否禁用了样式以确保它不是 CSS 问题?尝试一次输出所有图像,以确保它们都出现?确保您没有使用非法属性值(alt、title 等)破坏您的 html?
  • 啊哈,我解决了!其中一张图片显然“有错误”。不知道那是怎么回事,但我已经重新升级了它,它工作正常。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-15
  • 2011-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-13
相关资源
最近更新 更多