我想显示存储在数据库中的所有图像..然后我的问题是只会出现小方块..我需要帮助..
my 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';
}
?>
我希望有人可以帮我解决这个问题。
答案 0 :(得分:0)
我不知道您是如何在数据库中保存图像的(直接图像或图像路径)。但似乎你必须改变那些:
更改此行:
$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_*
所有函数都已弃用。
答案 1 :(得分:-1)
更改为此。你的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="" />';
?>