来自数据库提供程序的图像未显示,它适用于localhost

时间:2014-11-04 16:40:59

标签: php

我用PHP创建了一个带有mysql数据库的网站。 该网站在我的本地主机上运行完美,但当我将其上传到提供商服务器时,图像未显示。当我检查提供者服务器上的数据库时,我看到图像文件被存储,这不是问题,除了我丢失。 非常感谢你!

php页面上必须显示图像的代码:

<img src="ObjectImage.php?nObjectID=<?php echo $row['fldObjectID']; ?>" name="ObjectImage" id="ObjectImage">

ObjectImage.php文档中的代码:

<?php
$nObjectID = $_GET['nObjectID'];
include '../Connection.php';
$result = mysqli_query($con, "SELECT fldObjectImage FROM tblobjecten WHERE fldObjectID='$nObjectID'");
$row = mysqli_fetch_array($result);
$image = $row['fldObjectImage'];
mysqli_close($con);
header('Content-Type: image/jpg');
echo $image;
?>

1 个答案:

答案 0 :(得分:0)

您在代码中执行的操作非常危险。您的查询中有一个SQL注入。当您使用mysqli时,请使用预准备语句。

它不是在BLOB字段中存储图像的最佳方式。可能会有很多问题。检查数据库编码,确保所有内容都是UTF-8。

如果出现错误,请检查日志。您可能在header命令之前出错。这会导致错误,因为在发送标头之前有输出并且图像未显示。

最后一种可能<img src="ObjectImage.php您有更多目录条目,而您的浏览器无法找到php文件。尝试这样的事情:

<img src="/ObjectImage.php