使用Longblob数据类型的mysql数据库中的图像损坏

时间:2018-09-20 11:51:06

标签: javascript php mysql

我看到了很多相同的问题,但是代码却不同,我曾经找到一个解决方案,唯一的问题是将其数据类型更改为“ Longblob”,但我的数据类型已经是Longblob,但是图像损坏。 我的$pid设置为此:

$pid=intval($_GET['id']);// get patient id

这是我的PHP代码:

<?php
    $sql=mysqli_query($con,"SELECT * FROM `checkup_patient` WHERE patient_id='$pid' ORDER BY checkup_date DESC");
    while($row=mysqli_fetch_array($sql))
    {?> 
    <tr class="text-center">
    <td><?php echo $row['findings'];?></td>
    <td><?php echo $row['treatment'];?></td>
    <td><?php echo $row['pres_med_schedule'];?></td>
    <td><?php echo $row['checkup_date'];?></td>
    <td>
        <img src="data:image;base64,'.base64_encode($row['tblImage'])." /> //same code of others
    </td>
    </tr>
    <?php  }?>

这是我的脚本:

<script type="text/javascript">
            $(document).ready(function(){
                $('#insert').click(function(){
                    var image_name = $('#image').val();
                    if(image_name == '')
                    {
                        alert("Please Select Image")
                        return false;
                    } 
                    else
                    {
                        var extension = $('#image').val().split('.').pop().toLowerCase();
                        if(jQuery.inArray(extension, ['gif','png','jpg','jpeg']) == -1)
                        {
                            alert('Invalid image file');
                            $('#image').val('');
                            return false;
                        }
                    }
                });
            });
        </script>

1 个答案:

答案 0 :(得分:0)

由于您不在PHP解释器部分内,即<?php ... ?>,因此您必须执行以下操作:-

<img src="data:image;base64,<?php echo base64_encode($row['tblImage']);?>" />