显示数据库中的图像

时间:2012-05-27 18:02:24

标签: php mysql image

我听说在数据库中保存图像是一个非常糟糕的主意,所以我决定保存图像的路径。这里的问题是我找不到显示图像的方法。 我试过这个

<?php
$con = mysql_connect("localhost","root","mypassword");
mysql_query('SET NAMES UTF8');


if (!$con)
{
    echo "problem with connection" .mysql_error();
}
?>
<?php
mysql_select_db("eshop",$con);
$result = mysql_query("SELECT * FROM products", $con);
    $row = mysql_fetch_array($result);
while ($row)
 {   
$myimage = '<img src="<?php echo $row[\'image\']; ?>" />';
echo $row['title'] . " " . "<br />" . $myimage . $row['category'];
$row = mysql_fetch_array($result);
 }
 mysql_close($con);
?>

和其他类似方式没有结果。 任何人都有这方面的线索吗?

2 个答案:

答案 0 :(得分:3)

你试图在设置它或调用mysql数组之前调用$row

 $row = mysql_fetch_array($result);
 $myimage = '<img src="<?php echo $row[\'image\']; ?>" />'
 echo $row['title'] . " " . "<br />" . $myimage . $row['category'];

您还希望转义'image'周围的单引号,否则会出现语法错误。

答案 1 :(得分:1)

为什么那里有php开关标签? 你可以这样做:

$result = mysql_query('SELECT * FROM products',$con);
while($row = mysql_fetch_array($result)){
$myimage = '<img src="'.$row['image'].'" />';
echo $row['title']. ' ' . '<br/>' . $myimage . $row['category'];
}
mysql_close($con);

请注意,mysql_ *函数将在下一个版本或之后的版本中弃用。您应该使用mysqli或PDO。 此外,如果您不打算在其他变量定义中包含变量,则应使用单引号,因为php会在双引号内解析字符串。如果你在需要时使用单引号,它会快一点。

你可以在这里看到我对单引号和双引号的含义: http://codepad.org/UW5DO2fT