【发布时间】:2013-04-10 19:33:27
【问题描述】:
我有一个打印出所有注册用户的网站。 查询工作正常,直到我想从另一个表中添加值。 现在它打印出重复的值。
假设我有 2 个用户。它应该打印出来
约翰·多伊 简·多伊
但是在添加带有头像的表格后,它会打印出来 约翰·多伊 简·多伊 约翰·多伊 简·多伊
这是我的查询。
<?php
function fetch_users(){
global $db;
$query = $db->query("SELECT user.id, user.username,user.email, userdetails.profile_img FROM user , userdetails");
$user = array();
while(($row = $query->fetch(PDO::FETCH_ASSOC)) !==FALSE) {
$user[] = $row;
}
return $user;
}
?>
但是如果我删除最后添加的表 userdetails 并使用查询而不将表添加到名称中。它又可以正常工作了,但是当然没有头像。
php.
<?php foreach(fetch_users() as $user){ ?>
<p>
<a href="profile.php?uid=<?php echo $user['id'];?>"><?php echo $user['username'];?> </a>
</p>
<?php
}
?>
【问题讨论】:
-
您看到的是表格的笛卡尔积,因为您在没有条件的情况下加入表格。尝试指定
WHEREcaluse