Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无法显示MySQL表中的图像_Php_Mysql_Image - Fatal编程技术网

Php 无法显示MySQL表中的图像

Php 无法显示MySQL表中的图像,php,mysql,image,Php,Mysql,Image,我正在搜索保存在MySQL表中的显示图像的分辨率。我已经阅读了这个网站上几乎所有以前的问题。他们都跟着他们,但运气不好 我可以保存所有的文件。当试图显示时,它只显示二进制代码 我自己花了几天的时间来做,但在程序中找不到错误 其目的是使用3个不同的表显示用户名、姓氏、出生日期和图像,然后根据用户的需要进行更改。所有数据都显示良好,并且可以更改。但无法显示图像 已尝试“回显”第22行中的图像进行测试,然后在第45行中显示。这两种方法都只是二进制代码。如有任何帮助/建议,将不胜感激 <?php

我正在搜索保存在MySQL表中的显示图像的分辨率。我已经阅读了这个网站上几乎所有以前的问题。他们都跟着他们,但运气不好

我可以保存所有的文件。当试图显示时,它只显示二进制代码

我自己花了几天的时间来做,但在程序中找不到错误

其目的是使用3个不同的表显示用户名、姓氏、出生日期和图像,然后根据用户的需要进行更改。所有数据都显示良好,并且可以更改。但无法显示图像

已尝试“回显”第22行中的图像进行测试,然后在第45行中显示。这两种方法都只是二进制代码。如有任何帮助/建议,将不胜感激

<?php
session_start();

include 'db_connect.php';

$user   = (isset($_POST['user']) && !empty($_POST['user']) ? $_POST['user'] :"");
$pass   = (isset($_POST['pass']) && !empty($_POST['pass']) ? $_POST['pass'] :"");   

$sql = mysqli_query($connect, "SELECT mli.cust_id, mm.fname, mm.lname, mm.cust_dob, mi.cust_img 
          FROM member_login_info mli 
          LEFT JOIN member_master mm   ON mli.cust_id = mm.cust_id
          LEFT JOIN member_img mi  ON mli.cust_id = mi.cust_id
          WHERE mli.profilename = '$user' AND mli.password = sha1('$pass') ");        

$result = mysqli_fetch_array($sql);

  $fname  = $result["fname"];
  $lname  = $result["lname"];
  $dob    = date("d/m/Y", strtotime($result["cust_dob"]));
  $_SESSION["cid"] = $result["cust_id"];
  $image = $result["cust_img"];
  echo "<img src='" .$result['cust_img']. "'>"
?>

<div id="edit_data"> 
 <fieldset style="width:30%">
    <legend>Edit information</legend> 

 <table border="0">
    <form name="edit" enctype="multipart/form-data" method="POST" action="test_edit1.php">
    <tr>        
    <td>First Name:</td>
    <td><input name="fname" type="text" id="fname" value="<?php echo $fname; ?>" > </td> 
    </tr>   
    <tr> 
    <td>Last Name:</td> 
    <td><input name="lname" type="text" id="lname" value="<?php echo $lname; ?>"> </td> 
    </tr>   
    <tr> 
    <td>Date of Birth:</td><td> 
    <input name="dob" type="text" id="dob" value="<?php echo $dob; ?>"> </td>
    <input name="cid" value="<?php echo $cid; ?>" type="hidden" />
    </tr>   
    <tr> 
    <td>Photo:</td> <td> <?php echo "<img src='".$result['cust_img']."'/>" ?> </td>
    </tr>

    <tr> 
    <td>Upload your profile picture:</td><td> <input name="image" type="file"> </td>
    <input type="hidden" name="MAX_FILE_SIZE" value="1000000">
    </tr> 

    <tr> 
    <td><input id="exit" type="submit" name="exit" value="Exit" onclick="window.location.href='display.html'"></td>
    <td><input id="edit" type="submit" name="edit" value="Save"></td>  
    </tr> 
    </form> 
 </table>

我假设您不存储该图像的路径,而是存储图像内容本身,并且它是jpg(您可以更改为png或任何类型)。如果是,请为src使用数据URI语法:

$src = "data:image/jpg;base64,".base64_encode($result['cust_img']);
echo "<img src='$src'>";
$src=“data:image/jpg;base64,”.base64_encode($result['cust_img');
回声“;

为什么不将图像上传到特定文件夹并将url路径保存在mysql中?如果您希望我帮助构建一个代码,将图像路径存储在mysql表中并将实际图像保存在您的Web服务器中,我可以这样做。在php中,将图像作为BLOB存储在表中是一种糟糕的编码方式。如果您愿意,请告诉我hi user768665,我想知道如何在MySQL表中存储路径。谢谢你,成功了。谢谢你。任何关于它为什么不能使用的线索:echo“”。我花了好几天的时间试图找出那段代码的错误。。。。!!它不起作用,因为数据URI的格式是data:[][;charset=][;base64],以便客户端知道如何处理该负载。网上有很多关于它的信息。我也曾经有过这个问题,最后终于解决了,所以我很高兴能够帮助我的经验。