【发布时间】:2017-07-09 14:07:14
【问题描述】:
以下是我的页面跳转到“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 函数时,图像不会显示。请告诉我我可以在此处进行哪些更改。
【问题讨论】:
-
注意点。在您的 while 循环中,循环内代码第三行上的
应该是 -
您在
database.php中有什么?在我们看到之前,我们无法判断您遇到了什么问题 -
也显示你的 database.php
-
附注:您的数据库查询很容易受到 sql 注入攻击。请了解结合使用“准备语句”和“参数绑定”的安全优势。
-
你检查mysqli的连接错误了吗?不能一味用mysqli_替换所有的mysql_函数