Php 无法显示MySQL表中的图像
我正在搜索保存在MySQL表中的显示图像的分辨率。我已经阅读了这个网站上几乎所有以前的问题。他们都跟着他们,但运气不好 我可以保存所有的文件。当试图显示时,它只显示二进制代码 我自己花了几天的时间来做,但在程序中找不到错误 其目的是使用3个不同的表显示用户名、姓氏、出生日期和图像,然后根据用户的需要进行更改。所有数据都显示良好,并且可以更改。但无法显示图像 已尝试“回显”第22行中的图像进行测试,然后在第45行中显示。这两种方法都只是二进制代码。如有任何帮助/建议,将不胜感激Php 无法显示MySQL表中的图像,php,mysql,image,Php,Mysql,Image,我正在搜索保存在MySQL表中的显示图像的分辨率。我已经阅读了这个网站上几乎所有以前的问题。他们都跟着他们,但运气不好 我可以保存所有的文件。当试图显示时,它只显示二进制代码 我自己花了几天的时间来做,但在程序中找不到错误 其目的是使用3个不同的表显示用户名、姓氏、出生日期和图像,然后根据用户的需要进行更改。所有数据都显示良好,并且可以更改。但无法显示图像 已尝试“回显”第22行中的图像进行测试,然后在第45行中显示。这两种方法都只是二进制代码。如有任何帮助/建议,将不胜感激 <?php
<?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],以便客户端知道如何处理该负载。网上有很多关于它的信息。我也曾经有过这个问题,最后终于解决了,所以我很高兴能够帮助我的经验。