【问题标题】:Display multiple image from MySQL database to HTML table从 MySQL 数据库显示多个图像到 HTML 表
【发布时间】:2022-01-14 21:30:10
【问题描述】:

我正在尝试为我的网站制作上传和显示图片,并发现此代码可以作为一种方法:

$image = $_FILES['image'];

if (isset($_POST['submit']) && isset($image)){
     echo "<pre>";
     print_r($image);
     echo"</pre>";
 }
 echo "<pre>";
 print_r($_FILES['image']);
 echo "<pre>";
 //this moves the images to a folder
 foreach($_FILES['image']['name'] as $key=>$val){
   move_uploaded_file($_FILES['image']['tmp_name'][$key],'img/'.$val);
 }

(这只是将图像数组保存到数据库中的代码块)

我的网站中已经有了提交按钮,并且它起作用了,我选择的所有图像都移动到了目录“img/”。同样在我的数据库中,我有数据类型为 VARCHAR 的列“图像”以将图像保存在数据库中,但是当我尝试在我的 HTML 表中显示它时,它显示为文本“数组”。

如何显示我上传的所有图像,而不是在我的表格中显示文本“数组”?

编辑: 所以要显示图像,这就是我所做的,这是在我的页面内显示图像(“connect.php”只是一个连接数据库的脚本):

<table> 
 <thead>
  <tr> Image(s)</tr>
 </thead>

<?php
 include 'connect.php'
 $data = mysqli_query($con, "SELECT*FROM my_images;");
 while($d = mysqli_fetch_array($data))
{ 
?>

 <tr>
  <td><?php echo $d['image']; ?></td>
 </tr>

<?php } ?>
</table>

编辑 2: "$d['image']" 里面是数组,里面有这个 What is inside the array

【问题讨论】:

  • 你如何显示它?你能展示你的代码吗?
  • 如果您正在获取文本“数组”,您可能需要遍历该数组以显示该数组中的项目。另外,这个问题与 MySQL 有什么关系?您还没有显示任何与数据库相关的代码
  • 我已经编辑了这个问题,如果有帮助请告诉我
  • 向我们展示如何在数据库中保存数据将有助于解决这个问题。如果您直接进入数据库并查看my_images 表中的image 字段,您会在其中看到什么数据?数据看起来是对的还是只是写成数组?
  • @alviratulaha 那么你刚刚添加的图像的内容,就是$d['image']的结果?如果是这样,那么echo $d['image'] 将不起作用。您需要echo $d['image']['name'] 才能查看该名称。或者您可以print_r($d['image']); 打印整个阵列。仍然不确定如何将数据保存在数据库中。显然,它不仅仅是您保存的文件名。

标签: php html mysql


【解决方案1】:
<?php
   $con=mysql_connect("localhost", "root" , "");
   $qry= "SELECT * FROM tblname where `id` = '".$id1."'";
  $result= mysql_query($qry,$con);

  while($rows = mysql_fetch_assoc($result))
{       
 echo '<img src="'.$rows['image'].'">';
}
?>

【讨论】:

  • 请不要发布重复的答案。相反,编辑您现有的答案以包含所有相关信息
  • 请不要推荐使用非工作代码。 mysql_* 多年前已从 PHP 中删除。此外,给定的代码极易受到 SQL 注入的攻击
猜你喜欢
  • 1970-01-01
  • 2013-07-23
  • 1970-01-01
  • 2011-04-14
  • 2021-09-07
  • 2017-09-07
  • 1970-01-01
  • 2020-06-22
  • 1970-01-01
相关资源
最近更新 更多