显示图像,其中图像路径使用Id存储在数据库中,


Displaying an image where image path stored in Database using Id,

我正在尝试在网页上显示图像,其中图像路径存储在数据库中,图像存储在服务器中。但我无法使用以下代码显示这些图像,所以请有人帮助我解决这个问题,。。

<form method="post"  enctype="multipart/form-data" action="file_upload.php">
<table>
<?php
$dbhost = 'xxxxxxxx';
$dbuser = 'xxxxxxxxx';
$dbpass = 'xxxxxxxxxx';
$db_name = 'xxxxxxxxxx';
$tbl_name = 'xxxxxxxxxxx';

$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}
mysql_select_db("$db_name")or die("cannot select DB");
$path1 = mysql_query("select * from '$tbl_name' where id='1'");
$path2 = mysql_query("select * from '$tbl_name' where id='2'");
$path3 = mysql_query("select * from '$tbl_name' where id='3'");
echo '<tr><td><img src="$path1"></td>' ;
echo '<td><img src="$path2"></td>' ;
echo '<td><img src="$path3"></td></tr>' ;
?>
</table>
</form>

在我们开始之前有几件事:

  • 我建议使用mysqli,并将在下面的示例中这样做(mysql已弃用)
  • 我将使用循环来迭代结果,而不是单独查询每个元素

PHP代码

$dbhost = 'xxxxxxxx';
$dbuser = 'xxxxxxxxx';
$dbpass = 'xxxxxxxxxx';
$db_name = 'xxxxxxxxxx';
$tbl_name = 'xxxxxxxxxxx';

$conn = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
if (!$conn)
{
    die('Could not connect: ' . mysqli_connect_error());
}
$result = mysqli_query($con, "SELECT * FROM `$tbl_name`");
while ($row = mysqli_fetch_array($result))
{
    echo '<tr><td><img src="'.$row['image'].'"></td>' ;
}

请注意我是如何首先从查询中"获取"结果的。查询首先返回一个mysqli对象,该对象包含查询返回的所有结果。这些必须提取;我提出的方法在其他地方的例子中也被广泛使用。

还要注意,在引用该表时,如何使用反勾字符而不是单引号。

执行查询后,我们将获得结果集游标。我们需要对它进行迭代以获得所有行。试试下面的代码,它应该可以工作。

$result = mysql_query("SELECT * FROM  '$tbl_name' WHERE id IN ( 1, 2, 3 ) ");
if (!$result) {
// show your respective error messages
}else{
while ($row = mysql_fetch_assoc($result)) {
    echo '<tr><td><img src="'.$row['database_column_name'].'"></td>' ;
}
}

mysql_query();有2个参数。

论点1:联系
论点2:查询。

如果我是你,我会这么做:

$sql = "select * from `$tbl_name` where `id` between 1 and 3";
$path = mysql_query($conn, $sql);
while($row = mysqli_fetch_array($patht)) {
echo '<tr><td><img src="' . $row['name of colum'] . '"></td></tr>' ;
}
mysql_close($con);

抱歉我英语不好。我是荷兰人。