-1

首先,我将粘贴我的代码而不是解释。

while($row = mysqli_fetch_assoc($result)) {
    $id=$row['id'];
    $username=$row['username'];
    $email=$row['email'];
    $firstname=$row['firstname'];
    $lastname=$row['lastname'];
    $motto=$row['motto'];
    $bio=$row['bio'];
$result4 = mysqli_query($link, "SELECT * FROM photo where id='$id'");
while($row4 = mysqli_fetch_assoc($result4))
{
$image=$row4['filename'];
$src = (empty($image)) ? "upload/your-photo.jpg" : "site_images/$id/$image";
}

如您所知,问题与图像有关。我在想问题出在哪里 SELECTS * FROM photo where id='$id' 因为这是在一个 while 循环中,如果它是空的,就像它在 $src 中所说的那样,它只会移动到下一个排队的人。

我想知道如何使这项工作成为可能?现在,当它应该显示正确的图像时,它只是为每个 id 显示相同的图像。

4

2 回答 2

3

您应该只使用一个带有连接的查询来连接照片表。

于 2013-10-08T00:09:43.850 回答
0

我会尝试打破你有内循环的条件:

$result4 = mysqli_query($link, "SELECT * FROM photo where id='$id'");
while($row4 = mysqli_fetch_assoc($result4))
{
  $image=$row4['filename'];
  $src = "upload/your-photo.jpg";
  if(!empty($image)) {
     $src = "site_images/$id/$image";
  }
}

如果这不起作用,请尝试使用:

strlen 

并检查它是否等于 0

此外,在您的数据库中,您的照片表是否有带有 ID 但没有指定照片文件的行?也许您正在查询一个空表..

于 2013-10-08T00:10:18.053 回答