从数据库显示图片不起作用

时间:2014-09-28 18:19:28

标签: php html mysqli

我想在mysqli数据库中显示一些图片,它们存储为blob。 但我得到的只是一个带有奇怪文字的A4页面。

这是我使用的代码也显示(我在此代码上方连接到我的数据库):

echo "<table border=1>\n";
/*echo "  <tr>\n";
echo "    <th>Bild</th><th>Namn</th><th>Betygsättning</th>\n";
echo "  </tr>\n";*/
while ($rad = mysqli_fetch_array($sql_result)) {
      echo "<tr>";
      echo "<td>";?> <img src="<?php echo $rad["Bild"]; ?>" height="100" width="100"> <?php echo "</td>";
      echo "<td>"; echo $rad["Namn"]; echo "</td>";   
      echo "</tr>";
}     
echo "</table>\n";

2 个答案:

答案 0 :(得分:1)

如果你真的想将图像嵌入到生成的html中,你应该在这里写一下:

echo "<td>";?> <img src="data:image/jpeg;base64,<?php echo base64_encode($rad["Bild"]); ?>" height="100" width="100"> <?php echo "</td>";

再次使用更简洁的代码:

echo "<table border=\"1\">\n";
while($rad = mysqli_fetch_array($sql_result)) {
    echo " <tr>\n";
    echo "  <td>\n";
    echo "   <img src=\"data:image/jpeg;base64," . base64_encode($rad["Bild"]) . "\" height=\"100\" width=\"100\" />\n";
    echo "  </td>\n";
    echo "  <td>" . $rad["Namn"] . "</td>";
    echo " </tr>\n";
}
echo "</table>\n";

好像你忘了关闭你的img标签了。

答案 1 :(得分:0)

echo '<table border=1>';
/*echo "  <tr>\n";
echo "    <th>Bild</th><th>Namn</th><th>Betygsättning</th>\n";
echo "  </tr>\n";*/
while ($rad = mysqli_fetch_array($sql_result)) {
    echo '<tr>
            <td><img src="'.$rad["Bild"].'" height="100" width="100"></td>
            <td>'.$rad["Namn"].'</td>
          </tr>';
}

echo '</table>';

应该这样做。当你在一个PHP代码块中时,你可以像上面那样连接它。