首页 > 解决方案 > 数据库中的数据只显示一个数据,它不显示

问题描述

我们的 html/php 代码显示了数据库中的名称,但其余部分没有显示。尽管我们对每个部分都使用了相同的语法,但我们将数据名称更改为与数据库列名称相同。

为什么呢?

这是我们的代码:

<?php
  $servername = "localhost";
  $username = "";
  $password = "1234";
  $dbname = "straypaws";

  // Create connection
  $conn = new mysqli($servername, $username, $password, $dbname);
  // Check connection
  if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
  }
  $sql = "SELECT Dog_name, Dog_loc, Dog_desc1, Dog_desc2, Dog_info1 FROM dog_info";
  $result = $conn->query($sql);
?>

<div class="no-name-C61RwL helveticaneue-regular-normal-black-48px"><?php
if($row = mysqli_fetch_array($result)) {
    echo $row["Dog_name"];
} ?> 
</div>
<div class="dog-profile-C61RwL helveticaneue-regular-normal-black-72px">DOG PROFILE</div>
<img class="group-49-C61RwL animate-enter7" src="img/group-49@2x.svg" />
<div class="group-51-C61RwL">
  <div class="group-49-Hjsg7h">
    <div class="burnham-park-baguio-oKkELk helvetica55roman-regular-normal-black-24px"><?php
    if($row = mysqli_fetch_array($result)) {
        echo $row["Dog_loc"];
    } ?>

标签: phpmysqli

解决方案


您不能多次获取相同的结果。

只需将您的结果存储在数组中,然后在foreach中显示它

$dogs = [];
while($row = $result->fetch_assoc){
   $dogs[] = $row;
}

然后在你的html中:

foreach($dogs as $dog){
   echo $dog['Dog_name'];
}

推荐阅读