gpt4 book ai didi

php - MySQL 返回损坏的图像

转载 作者:太空宇宙 更新时间:2023-11-03 11:52:01 25 4
gpt4 key购买 nike

在过去的几天里,我一直在开发一个应用程序,让用户上传图像并将图像存储在我的文件系统中,并将文件路径存储在我的数据库中。我快完成了,但我遇到了一堵砖墙。

图像被上传到我的文件系统,文件路径存储在我的数据库中就好了。当我转到显示图像的页面时放置。它将它们返回为“ splinter 的图像”

这是给我带来麻烦的代码

<?php
error_reporting (E_ALL ^ E_NOTICE);
session_start();
$uname = $_SESSION['username'];
$userid = $_SESSION['id'];
?>

<!DOCTYPE html>
<html>
<head>
<title>OurFile's Page</title>
</head>
<body>
<?php
require("pdoconn.php");
//img_path is the column in my DB that holds the image URL.
$stmt = $conn->prepare("SELECT img_path FROM ourimages");
$stmt->execute();
while($result = $stmt->fetch(PDO::FETCH_BOTH))
{
echo '<br><img src="' . $result['img_path'] . '" />';
}
$conn = null;
?>
</body>
</html>

任何帮助都会被挪用。

感谢您以后的回复我编辑了代码。使用 ed 和 jay 的建议……但它仍然输出相同的结果

最佳答案

你不能这样做:

<img src="<?php echo $value; ?>" />

因为您正在使用 $value遍历表中的每一列。 src属性需要是一个 URL,但我猜你的 ourimages 中只有一列表包含一个 URL。得益于此,您正在为每个 列输出图像:

$stmt = $conn->prepare("SELECT * FROM ourimages"); // gets every column
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_BOTH);
foreach ($result as $value) // uses every column
{

简单的解决方法是更改​​您的 SQL:

$stmt = $conn->prepare("SELECT whateverColumnHasTheURL FROM ourimages");

然后像这样使用该列:

<img src="<?php echo $result->whateverColumnHasTheURL; ?>" />

或者,您可以使用 SELECT * ... , 但只使用 <img> 中的一列标签:

$stmt = $conn->prepare("SELECT * FROM ourimages");
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_BOTH);
echo "<br>";?> <img src="<?php echo $result->whateverColumnHasTheURL; ?>" /><?php

注意:如果你真的想遍历行,你需要输入 $stmt->fetch在循环中,如 while ($result = $stmt->fetch(PDO::FETCH_BOTH);) { echo... }

关于php - MySQL 返回损坏的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35048696/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com