[英]how to display images in php from database using MYSQLi queries?
下面是我的页面跳转到“prac_image_display”以显示图像的代码: -
<?php
session_start();
include("database.php");
$sql = mysqli_query($con,"select * from mst_subject");
echo "<h2><table cellpadding=5>";
while($row = mysqli_fetch_array($sql)){
echo "<tr>";
echo "<td><img height='50' width='50' src='prac_img_display.php? id=".$row['sub_id']."'></td><td><a href=showtest.php?subid={$row['sub_id']}>".$row['sub_name']."</td>";
echo "<tr>";
//$_SESSION['subid']=$row['sub_id'];
}
echo "</table></h2>";
?>
现在下面是用prac_image_display.php文件编写的代码: -
<?php
if(isset($_GET['id']))
{
include("database.php");
$sql = "SELECT image FROM mst_subject WHERE
sub_id=".$_GET['id'].";";
//$sql = "SELECT image FROM mst_subject WHERE sub_id=8";
$result=mysqli_query($con,"$sql");
header("Content-type: image/jpeg");
echo mysqli_result($result,0);
mysqli_close($con);
}
else
{
echo 'Please use a real id number';
}
?>
下面是用“database.php”文件编写的代码: -
<?php
$con=mysqli_connect("localhost","root","","test") or die("could not
connect ");
//mysql_select_db("test",$con) or die("Could connect to Database");
?>
图像以BLOB形式存储在数据库中。 问题是当我在两个.php文件中使用MYSQL时如上所示它运行正常并且所有图像都完美地显示在localhost上但是当我用MYSQLi函数替换MYSQL函数时,图像不会显示。 拜托,告诉我这里可以做些什么改变。
您可以按照以下步骤进行DEBUG
,找出实际问题的位置。
第1步:更新您的Image
src
src='prac_img_display.php? id=".$row['sub_id']."'
/*TO*/
src='prac_img_display.php?id=".$row['sub_id']."'
注意:因为,有一个Blank space
。
第2步:浏览浏览器中的图像
URL
,如
example.com/prac_img_display.php?id=8
注意:检查,如果图像正确显示在浏览器窗口中。
如果,没有正确显示图像
第3步:检查
header("Content-type: image/jpeg");
是正确的。
假设,如果你上传了PNG
图像,这将无效。
对于PNG
图像,您应该使用header("Content-type: image/png");
注意:另外不要忘记DEBUG
SQL Result。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.