Когда я использую этот php, результаты показывают всю таблицу, а не конкретное условие, что table1.id = table2.id - PullRequest
0 голосов
/ 25 февраля 2019
  • таблица 1
|---------------------|------------------|
|   User_id Primary   |      Email       |
|---------------------|------------------|
|         1           |      a@a.com     |
|---------------------|------------------|
|         2           |      b@b.com     |
|---------------------|------------------|
  • таблица 2
|---------------------|------------------|
|   Post_id Primary   |  User_id Foreign |
|---------------------|------------------|
|         1           |       1          |
|---------------------|------------------|

Вот код

$conn1 = @mysqli_connect('127.0.0.1','root','','signup');

$sql1 = "SELECT post_pic ,post_text FROM table2 INNER JOIN table1
    ON (table2.User_id = table1.User_id) " ;

$result = mysqli_query($conn1, $sql1);

if(mysqli_num_rows($result)>0){
     while ($row = mysqli_fetch_array($result)){

таккогда я вошел в систему идентификатор пользователя = 2 идентификатор пользователя = отображаются 1 сообщения

1 Ответ

0 голосов
/ 25 февраля 2019

Вам необходимо указать идентификатор пользователя в своем запросе, почему вы получаете изображения для пользователя 1, если ваш код в настоящий момент работает так, как ожидалось.

Если вы хотите получить данные только для пользователя 1, вынужно добавить предложение where с указанием идентификатора пользователя.

Примерно так:

//For Arguments Sake
$user_id = $_SESSION['loggedin_user_id'];

$sql1 = "SELECT post_pic ,post_text
         FROM table2
         INNER JOIN table1
         ON (table2.id = table1.id)
         WHERE table2.User_id = '$user_id'";

РЕДАКТИРОВАТЬ: На самом деле я только что заметил, что @ 04FS уже упоминал об этом в комментарии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...