我想显示存储在数据库中的所有图像。那么我的问题是只会出现一个小方块..我需要帮助。
我的maincontent.php
<?php
error_reporting(E_ALL);
$link = mysql_connect("localhost", "root", "") or die("Could not connect: " . mysql_error());
mysql_select_db("login") or die(mysql_error());
$sql = "SELECT id FROM products";
$result = mysql_query("$sql") or die("Invalid query: " . mysql_error());
while($row=mysql_fetch_assoc($result)){
echo '<img src="t2.php?id='.$row['id'].'"/>';
}
mysql_close($link);
?>我的t2.php
<?php
error_reporting(E_ALL);
if(isset($_GET['id']) && is_numeric($_GET['id'])) {
$link = mysql_connect("localhost", "root", "") or die("Could not&nbsp;connect: " . mysql_error());
mysql_select_db("login") or die(mysql_error());
$sql = "SELECT photo FROM products WHERE id={$_GET['id']}";
$result = mysql_query("$sql") or die("Invalid query: " . mysql_error());
header("Content-type: image/jpeg");
echo mysql_result($result, 0);
mysql_close($link);
}else{
echo 'Please use&;nbsp;a real id number';
}
?>关于这个问题,我希望有人能帮我。
发布于 2014-03-25 17:19:51
我不知道您是如何在数据库中保存图像的(直接图像或图像路径)。但看起来你必须改变那些:
更改此行:
$result = mysql_query($sql) or die("Invalid query: " . mysql_error());至:
$result = mysql_query($sql) or die("Invalid query: " . mysql_error());和你的t2.php
更改:
$result = mysql_query($sql) or die("Invalid query: " . mysql_error());至:
$result = mysql_query($sql) or die("Invalid query: " . mysql_error());您需要使用mysqli_*或PDO。mysql_*所有函数都已弃用。
发布于 2014-03-25 17:19:20
改成这样。您的t2.php
<?php
$imageId = intval($_GET["id"]);
$query = mysql_query("SELECT img FROM images WHERE id = ". $imageId);
$row = mysql_fetch_array($query);
$mime = null;
// place $type init. here
if ($type=="pjpeg") // <<< where do you get $type btw?
$mime = "image/jpeg";
$b64Src = "data:".$mime.";base64," . base64_encode($row["img"]);
echo '<img src="'.$b64Src.'" alt="" />';
?>https://stackoverflow.com/questions/22629958
复制相似问题