我用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;
?>
答案 0 :(得分:0)
您在代码中执行的操作非常危险。您的查询中有一个SQL注入。当您使用mysqli时,请使用预准备语句。
它不是在BLOB字段中存储图像的最佳方式。可能会有很多问题。检查数据库编码,确保所有内容都是UTF-8。
如果出现错误,请检查日志。您可能在header命令之前出错。这会导致错误,因为在发送标头之前有输出并且图像未显示。
最后一种可能<img src="ObjectImage.php
您有更多目录条目,而您的浏览器无法找到php文件。尝试这样的事情:
<img src="/ObjectImage.php