【发布时间】:2019-10-12 02:26:48
【问题描述】:
我正在制作一个网站,该网站显示来自 MySQL 工作台中制作的数据库中的游戏。我想让图像出现在所述游戏的相关游戏标题旁边。我遇到的问题是我使用 BLOB 将这些图像插入到我的数据库中,并将它们转换为 PHP 中的 base64。当我这样做并运行它时,图像会被剪掉。
这会从我在 MySQL 中创建的表中获取信息
function find_all_games(){
global $db; //Connects to database
$sql = 'SELECT * FROM game';
$result = mysqli_query($db, $sql);
return $result;
}
这是从数据库中提取我想要的信息并将 blob 转换为 base64 图像的表,但图像似乎被剪裁了。
'<?php while($game = mysqli_fetch_assoc($get_all_games)) {?>
<table>
<tr>
<td><?php
echo '<img src="data:image/jpeg;base64,'.base64_encode($game['image']).' "height="301" width="220" />'; ?>
</td>
</tr>
<tr>
<td id="title"><?php echo $game['title']; ?></td>
</tr>
<tr>
<td class="title">Released:</td>
<td class="data"><?php echo $game['release_date']; ?></td>
</tr>
<tr>
<td class="title">Publisher:</td>
<td class="data"><?php echo $game['publisher']; ?></td>
</tr>
</table>
'
图像应该看起来不错,但底部有一个白色剪辑,每个图像都会发生变化,即使它们的像素大小都相同。
【问题讨论】:
-
Blob 数据类型的最大大小为 64K。图像通常比这大,因此将数据类型更改为 mediumblob (16mb)
-
哦,天哪,我删除了它,因为我之前尝试过使用它但它不起作用,但现在又添加了它,它运行良好。非常感谢你,杰夫。你是绝对的救星!!
标签: php html mysql base64 clipping