Так что я пытаюсь показать, кому понравилась конкретная запись.MySQL показывает все записи на основе id
Код выглядит следующим образом:
$getlikes = mysqli_query($con, "SELECT * FROM likes WHERE post_id = $id");
$likes_row = mysqli_fetch_assoc($getlikes);
$liked_users = $likes_row['user_id'];
Это будет выводить только один пользователь в то время как 2 пользователям понравился пост.
В таблице MySQL БД выглядит следующим образом:
id | user_id | post_id
1 | someone | 1
2 | bob | 1
Они оба любили пост 1, но это только показывает someone
.
Я хотел бы их обоих, чтобы показать, например:
Someone and Bob liked this post
Это потому, что вы получаете только одну строку. См. [Mysqli_fetch_assoc()] (http://php.net/manual/en/mysqli-result.fetch-assoc.php) doc (пример 2). –
Что такое o/p для 'var_dump ($ loved_users)' ... – Vagabond
** ПРЕДУПРЕЖДЕНИЕ **: при использовании 'mysqli' вы должны использовать параметризованные запросы и [' bind_param'] (http://php.net /manual/en/mysqli-stmt.bind-param.php), чтобы добавить данные пользователя в ваш запрос. ** НЕ используйте ** интерполирование строк, чтобы выполнить это, потому что вы создадите серьезные [SQL-инъекции ошибок] (http://bobby-tables.com/). ** НИКОГДА ** не вводите данные '$ _POST' непосредственно в запрос. – tadman