Php 显示数据库中显示相同图像的图像

Php 显示数据库中显示相同图像的图像,php,database,image,png,blob,Php,Database,Image,Png,Blob,我试图显示一个来自数据库的图像,我能够得到它,但问题是,它显示相同的图像,即使我上传了不同的图像 这是我的密码: <?php $con = mysql_connect('localhost','root','') or die(mysql_error()); mysql_select_db ("dbname"); $query = "SELECT * FROM news ORDER BY date DESC"; $result = mysql_query($query); echo "

我试图显示一个来自数据库的图像,我能够得到它,但问题是,它显示相同的图像,即使我上传了不同的图像

这是我的密码:

<?php 
$con = mysql_connect('localhost','root','')
or die(mysql_error());
mysql_select_db ("dbname");

$query = "SELECT * FROM news ORDER BY date DESC";
$result = mysql_query($query);
echo "<table align='center'>";

while($row = mysql_fetch_assoc($result))
{
echo "<tr>";
echo "<td>";
echo "<img src='getImage.php?id='".$row['id']."' height='230px' width='300px'> <br /><br />";   

//Some codes here...

echo "</table>";
mysql_close($con);
?> 
您的问题是getImage.php没有返回查询字符串中id为的对应图像。您的源代码总是返回最新新闻的图像,对吗

尝试替换此选项:

$query = "SELECT * FROM news ORDER BY date DESC";


因为我很懒,所以这里我假设id是数字

getImage.php
中:

我们需要告诉getImage.php只获取具有我们想要的ID的图像

$id = intval($_GET['id']); 
//Forces $id to be numeric.  You wouldn't have to worry about doing this if
//you used prepared statements.  Like those in John Conde's links.
$query = "SELECT * FROM news WHERE `id`=$id";
现在,getImage.php实际上正在输出所有图像。但是,您只能看到日期最晚的。这是因为它是脚本通过
orderby
子句首次检索到的

另外,在显示循环中,更改以下内容:

echo "<img src='getImage.php?id='".$row['id']."' height='230px' width='300px'> <br /><br />";   
echo“

”;
为此:

echo "<img src='getImage.php?id=".$row['id']."' height='230px' width='300px'> <br /><br />";
echo“

”;

删除了id=和它的编号之间的额外单引号,这样编号将实际发送到脚本。

。它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果选择PDO,。请尝试清除浏览器缓存。。。这将证实这不是客户的问题。(在大多数现代浏览器中,左移+刷新通常不进行未缓存的重新加载)-约翰·康德(John Conde)对此表示感谢Orangepill我尝试清除浏览器缓存,但还是一样。好像只是显示了最后一个身份证。。。
echo "<img src='getImage.php?id='".$row['id']."' height='230px' width='300px'> <br /><br />";   
echo "<img src='getImage.php?id=".$row['id']."' height='230px' width='300px'> <br /><br />";