繁体   English   中英

如何从数据库MYSQLi在php中显示图像?

[英]How to display images in php from database MYSQLi?

我想使用Mysqli从数据库中的php中显示图像。 这是我的question.php代码:

    <form class="form-horizontal" role="form" id='login' method="post" action="result.php">

                <?php
                $row = mysqli_query( $conn, "select id,question_name,image from questions where category_id=1 and level_id=1 ORDER BY RAND() LIMIT 10");

                $i = 0;
                $j = 1; $k = 1;
                ?>
                <?php while ( $result = mysqli_fetch_assoc($row) ) {
                     //if ( $i == 0) echo "<div class='cont' id='question_splitter_$j'>";?>
                    <div id='question<?php echo $k;?>' >
                    <p class='questions' id="qname<?php echo $j;?>"> <?php echo $k?>.<?php echo $result['question_name'];?></p>

                     <?php echo "<img src='".$result['image']."'/>";?>
                     <input type="text" name="reponse"   required />
                    <br/>

                    </div>
                    <?php

                          $k++;
                     } ?>   
            </form>

我的桌子是: 在此处输入图片说明

但是结果是这样的: 在此处输入图片说明

您能帮我正确显示图像吗?

您可以通过base64_encode()使用data-uri方案将二进制数据输入浏览器来实现:

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

或者,您可以创建一个image.php脚本,该脚本带有一个ID,并将二进制数据直接输出到浏览器:

$query = mysqli_query("SELECT * FROM ..."); //**Bind** $_GET['ID'] to the query:
$row = mysqli_fetch_assoc($query);
header('Content-type: image/png');
echo $row['image'];

在您之前的代码中,按以下方式访问它:

<?php echo '<img src="image.php?id=', $row['id'], '" />'; ?>

暂无
暂无

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

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