只显示了从Blob中检索到的半图像

时间:2016-03-06 00:13:26

标签: php mysql

当我通过PHP检索blob时,它只加载大约一半的图像。

这是我的代码:

<?php
require 'dbconnect.php';
$q="SELECT * FROM mtgcards WHERE Name LIKE '%".$_POST['search']."%'";
$r = mysqli_query($dbc, $q);
while ($row = mysqli_fetch_array($r)) {
    echo '<br>'. 'Name: ' . $row['Name'] . ' Mana cost: ' . $row['Mana Cost'] . ' Colour: ' . $row['Colour'] . ' Set: ' . $row['Set'] . ' Ability: ' . $row['Ability']. '<img src="data:image/jpeg;base64,' . base64_encode($row['Image']) . '" width="223" height="311">';
}

mysqli_close($dbc);
?>

这里是完整图片的内容以及检索图片时的图片。

enter image description here

提前致谢!

1 个答案:

答案 0 :(得分:1)

看起来并且在评论中确定,BLOB对于图像(原始)大小的列类型来说太小,因此您需要使用LONGBLOB。

参考:

因此,您需要更改列,然后重新保存数据,然后重新开始。