2013-05-31 52 views
0

我有2个php文件从mysql数据库中检索BLOB图像。我的数据库存储了一些不同的图像,因为我尝试在浏览器上显示它们,只有第一个图像显示多次,例如:数据库表存储了5个图像,浏览器将显示第一个图像5倍。 这里是我的主要PHP文件的一个片段:只显示数据库的第一个条目

$strSQL = "SELECT * FROM images"; 
$rs = mysql_query($strSQL) or die (mysql_error()); 
echo "<table>"; 
while($row = mysql_fetch_array($rs)) { 

echo "<tr><td>"; 
echo " <img src=load_pic.php?id=".$row["id"]." id='img' width='100' height='100'></a>"; 
echo "</td></tr>"; 
} 

echo "</table>" 

和PHP文件,获取图像“load_pic.php”

$q="select * from images"; 
    $rec=mysql_fetch_array(mysql_query($q)); 
    $data=$rec['image']; 
    header('Content-Length: '.strlen($data)); 
    header("Content-type: image/".$rec['type']); 
    echo $data; 
+0

您给所有图像使用相同的id ='img''。 ID必须是唯一的。我不确定为什么这会导致您看到的行为,但无论如何您都需要修复它。 – Barmar

+0

@Barmar id ='img'只是我使用的所有图像的标识符,其样式 – Felix

+0

ID必须是唯一的。使用班级造型。 – Barmar

回答

2

load_pic.php脚本不使用id参数。它应该是:

$q = "select * from images where id = " . mysql_real_escape_string($_GET['id']); 
+0

+1 ..好赶上! –

+0

非常感谢你:) – Felix

相关问题