当我运行下面的代码时,它显示输出为加密符号,如 [[ ѥ 1}j i Ƥ ^i 췼5 l r Ejק R:!} = “”] Q [{nC6ZVv YJ> | 1-20#\ t hz`dvnWKFihҍz2]
我在数据库中有超过5张图片。
发布您的建议
define('MYSQL_ASSOC',MYSQLI_ASSOC);
error_reporting(E_ALL);
$db = mysqli_connect("localhost", "root", "","phpapi");
$query = "SELECT image FROM images";
$result = mysqli_query($db,$query);
$num =mysqli_num_rows($result);
while($row = mysqli_fetch_array($result, MYSQL_ASSOC))
{
echo "<img src=\"$row[image]\" alt=\"img\" />";
}
?>
答案 0 :(得分:1)
我认为$row[image]
是图像内容,但图像src属性需要一个网址。你可以
A)将图片内容转换为数据网址,请参阅https://en.wikipedia.org/wiki/Data_URI_scheme(仅适用于小图片)或
B)指定一个指向另一个实际从数据库中提取图像的php文件的URL,例如
<img src="fetch-my-image.php?id=736">
并在fetch-my-image.php中输入:
// ...
$result = mysqli_query($db, "SELECT image FROM images WHERE id = /* id GET parameter here */");
// ...
echo $row[image]
当然你应该使用预备声明,我在这里没有详细说明。 您还应该在HTTP响应标头中设置正确的MIME类型。
fetch-my-image.php应该将图像内容完全回显到输出,仅此而已。