У меня есть сайт, на котором печатаются все зарегистрированные пользователи. запрос работал нормально, пока я не захотел добавить значение из другой таблицы. теперь распечатывает дублированные значения.Query echo duplicated values при выборе двух таблиц
позволяет сказать, что у меня 2 пользователя. он должен распечатать
John Doe Джейн Доу
Но после добавления таблицы с аватара он печатает John Doe Джейн Доу Джон Доу Джейн Доу
Это мой запрос.
<?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;
}
?>
Но если я удаляю последние добавленные подробные данные таблицы и использую запрос без добавления таблицы к имени. он снова работает отлично, но затем без ответа аватара.
php.
<?php foreach(fetch_users() as $user){ ?>
<p>
<a href="profile.php?uid=<?php echo $user['id'];?>"><?php echo $user['username'];?> </a>
</p>
<?php
}
?>
вы видите декартово произведение таблиц, потому что вы присоединяетесь таблицы без conditi на. Попробуйте указать 'WHERE' caluse – Ejaz