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 />";