繁体   English   中英

尽管 MySQL 数据库中有数据,但图像不显示

[英]Image doesn't display although there's data in MySQL database

目前,我的项目有问题。 在 MySQL 数据库中,有两列名为photo beforephoto_after并带有格式化的BLOB 将图像显示到 PHP 页面时,我使用base64对图像进行解码。

主要问题是如果photo_beforephoto_after列中有数据,它仍然显示“ noimage.jpg ”。 我不知道为什么。 下面是我的代码:

<?php
$report_id = $_GET['report_id'];


$sql = "SELECT * FROM report LEFT JOIN users ON report.badgeid = users.badgeid LEFT JOIN team ON team.team_id = users.team_id WHERE report_id = :report_id";
$query = $conn->prepare($sql);
$query->execute(array(':report_id' => $report_id));
while($row = $query->fetch(PDO::FETCH_ASSOC)){

    $report_id = $row["report_id"];
    $report_date = $row["report_date"];
    $task_name = $row["task_name"];
    $photo_before = $row["photo_before"];
    $photo_after = $row["photo_after"];
    $ot_start = $row["ot_start"];
    $ot_end = $row["ot_end"];
    $time_photo_before = $row["time_photo_before"];
    $time_photo_after = $row["time_photo_after"];
    $report_status = $row["report_status"];

}

?>

<tr>
  <td rowspan = '2'><b>Before Task</b></td>

  <?php
    if(!isset($row['photo_before']) || empty($row['photo_before'])) {
        echo "<td colspan='3'><img src='../../images/faces/noimage.png'/></td>";
      }else{ 
              echo "<td colspan='3'><img src='data:image/jpeg;base64,".$row['photo_before']."'/></td>"; 
      }
  ?>

</tr>
<tr>
  <td colspan='3'><?php echo "Time: <b>" .$time_photo_before."</b>"; ?></td>
</tr>
<tr>
  <td rowspan = '2'><b>After Task</b></td>
  <?php
    if(!isset($row['photo_after']) || empty($row['photo_after'])) {
        echo "<td colspan='3'><img src='../../images/faces/noimage.png'/></td>";
      }else{ 
              echo "<td colspan='3'><img src='data:image/jpeg;base64,".$row['photo_after']."'/></td>"; 
      }
  ?>
</tr>

似乎问题出在您的if( the problem is here ) , || / 或逻辑发送真如果 0|1,1|0 和 1|1...检查您的 php 版本,其中".$row['photo_before']." 你的 " 正在使用 " 或 ',我使用的是'.$row['photo_before'].'

empty() 函数返回 true 或 false 当变量数据存在且具有非空、非零值时,它返回 FALSE。 否则返回 TRUE。 添加并尝试,希望它会起作用:

if(!isset($row['photo_after']) || empty($row['photo_after'])== 'true/false')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM