数据库php mysql-如何显示数据库中的图像

数据库php mysql-如何显示数据库中的图像,php,mysql,Php,Mysql,我编写此代码是为了显示图像: <?php $sel = " SELECT * FROM immagini WHERE id= ".$_GET['idx']; $ris = mysqli_query($con,$sel); $count = mysqli_num_rows($ris); if($count >= 1) echo "<h1>Dettagli dello studente: </h1>"

我编写此代码是为了显示图像:

<?php
$sel = " SELECT *
         FROM immagini
         WHERE id= ".$_GET['idx'];

$ris = mysqli_query($con,$sel);      
$count = mysqli_num_rows($ris);     

if($count >= 1)  echo "<h1>Dettagli dello studente: </h1>";

while ( $riga = mysqli_fetch_array($ris)) {         

    echo "ID  = ".$riga['id']; ?> <br > <?php
    echo "Nome = ".$riga['name']; ?> <br > <?php
    echo "Descrizione = ".$riga['descrizione']; ?> <br > <?php     

    $imageData= $riga["image"];
    header("content-type :image/jpeg");
    echo $imageData;                 
    }
?>



但结果是:

Dettagli dello studente: ID=2 诺姆=朱莉娅 descripizione=questofrattle ha delle caratterteriche particolari,在quanto。。。。。 ���� JFIF,,��C      !"$"$��C  ����� ���}!1A  Qa“q2���#B��R��$3br� %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz��������������������������������������������������������������������������� ���w!1AQaq “2�B���� #3R�溴� $4.�%�&'()56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�������������������������������������������������������������������������� ?��ĺޙ��}连续波�6.�下午�$ύ�P����7.���bjT��8.�������?��?�A.�.����W��>�����E�W3/�����-��K��十一~��}�%�6.����A\�;�8.$��^我�U}���K��]޺���L�< �� Q�����L�4.��ܗ��ӳ������� �gK�F�G���� y4���F@�� ��gC+���-+7.�(���}�� �fhA�o����*��������U���B���?M���t#�:U������]#Ȯ� �Tѕ����{���˯�7I�J�� �_R3�P� | d��+���U��%�+�1.�������+���u6c���W� m�����5H���o� m�����5@�5/�����W�J��j_���:7.� �����Կ�到�����?��~�����+���T�R� ��ѿ�栈单�ƨ�����C������P� 我�;�9�� ����;��P��_�3�Q� ˯�7吨��.��+�H��>��7'��W�J�R�ڋ��1W�����W�Ʃ�..� 4.�B�R� ��ѿ�栈单�Ʃ ?��~�����+���T�R� ��ѿ�栈单�ƨ�����C������P� K�7.��F��]������o�������5@�5/����W�J��乔���9�� �����ԟ��所以�����j-��?�����M�����7U(J;�;�����3o�����J�1.����"�Q��������{ ���L|���?� ���U�R�L����生活质量��� ���^)F�?���N�Y^;���mK R��8.������3.���X�Z���)�X�� ?�E��7|3���#��sg8��*>�s������Ͽ��e~/�=9��������>�}��v�/�����$O�>W�����我���N��A>�R�����,�� /��]�z}��&����交流电�~O��4_�#(5Sϭ�����J����|dw���̵��97���틏�K��/�Gx�(���y���F��K��=H��F���?���.x��铷�惯性矩�����7.�Q�".F/�Ɲ�?����!�������8x��O��;�{����我������x���(�� F'�ޛ�?����#�R�我��^����G��{9 �������8.��G�����U�(u)���M���G�G�Q��G�^��� ~�=����Q�我��.Y�Q�我�T�� U�4u�?����!�!��iK������{H������(#;�yj��我�:�戈兹=�E��{$r?>[9I | F2?�i3�%Z���Ռϗ�����N_� �8.���pO�x�tܭcFr�n#u14;�UY��T��/�� ��(S)��E�wF���;�Y�_N:�不��8Ez��7)�D����;��� 3'T�����N��'�,�wBx�3ұ���K+�F  r���鶝|���'��,�?�����@��;E����T���CR%��!�x�F�]N�����G�)�D�Q��H�

我该如何解决这个问题?????我想图像的转换有问题。谢谢

echo "ID  = ".$riga['id']; ?> <br > <?php
echo "Nome = ".$riga['name']; ?> <br > <?php
echo "Descrizione = ".$riga['descrizione']; ?> <br > <?php   
这是没有意义的,因此输出混乱。如果你想发送图像内容,那么你只能发送带有适当标题的响应。你不能在一个响应中混合图像和文本


TLDR;除图像内容及其标题外,每隔一次删除一次回显。

当您必须从DB中输出图像时(这基本上是个坏主意),请确保您不回显任何内容,只需按如下方式发送标题:

    <?php

    $imageData= $riga["image"];
    header("content-type :image/jpeg");
    echo $imageData;                 

?>


但是你应该重新编写你的代码,使它更有用。

我同意,你不能把需要不同输出方法的图像和文本混在一起

假设使用base64,而不是

$imageData= $riga["image"];
header("content-type :image/jpeg");
echo $imageData;     
你能试试吗

$imageData= "<img src='data:image/jpeg;base64,".$riga["image"]."' />";
echo $imageData;
$imageData=”“;
回波数据;

此外,还提供了更多信息,可以帮助您

除了Hanky Panky和WongFailHung提出的观点之外,您不能在图像中输出更多的信息来响应相同的请求。实际上,您可以发送数据,但您只能看到第一个图像。

作为补充说明,您的打开和关闭PHP标记有点不必要。您将继续使用PHP and echo the“ID=”但随后退出PHP以回显BR。而不是您正在做的事情:
echo“ID=”.$riga['ID'];?>
在数据库中存储完整的图像不是一个好做法。将图像存储在文件系统(它所属的位置)中,并在数据库中引用图像(存储路径等)这行得通吗?因为您在
header()调用之前输出内容。
$imageData= "<img src='data:image/jpeg;base64,".$riga["image"]."' />";
echo $imageData;