У меня есть веб-сайт, на котором есть несколько пользователей, которые отправляют некоторые запросы, поэтому у каждого пользователя будет своя собственная таблица запросов, которая была сделана. моя проблема в том, что я пытаюсь показать запросы для каждого пользователя в таблице, используя переменные сеанса, чтобы получить имя пользователя и сопоставить его с таблицей запросов, но это не работает.

    $userin= $_SESSION['username'];
$req = "SELECT * FROM request_table where r_status='pending' AND requester = 'max';";
$request_table = $conn->query($req);

Он работает, только если я выхожу (Max), но когда я помещаю его как переменную сеанса или как $userin, он не работает, и я получаю эту ошибку:

    Notice: Trying to get property 'num_rows' of non-object in C:\xampp\htdocs\website\b_table.php on line 54.

Ниже мой код для таблицы:

   <body>
<h1 align="center">Table</h1>
<table border="5" align="center" style="line-height:20px;">
<tr>
<th>Request ID</th>
<th>Requester name</th>
<th>Customer name</th>
<th>Description</th>
<th>Submition Date</th>
<th>Request Status</th>
<th>link</th>
</tr>
<?php
//Fetch Data form database
 if($request_table->num_rows > 0){
 while($view_request = $request_table->fetch_assoc()){
 ?>
 <tr>
 <td><?php echo $view_request['request_id']; ?></td>
 <td><?php echo $view_request['requester']; ?></td>
 <td><?php echo $view_request['customer_name']; ?></td>
 <td><?php echo "Site A is:". $view_request['site_a']. ",<br> Site B is: ".$view_request['site_b']. ",<br>NO. Of links =:".$view_request['no_oflinks']; ?></td>
 <td><?php echo $view_request['sub_date']; ?></td>
 <td><?php echo $view_request['request_status']; ?></td>
 <form action="view_request.php" method="GET"><td><button type="vieww" name="vieww" value= <?php echo $view_request['request_id']; ?>> View </button></td></form>
 </tr>
 <?php
 }
}
else
{
 ?>
 <tr>
 <th colspan="7">No Data availabe</th>
 </tr>
 <?php
}
$conn->close();
?>
</table>
``````````````````````````````````````````````````````````````````````````````````````````

[enter image description here][1]


  [1]: https://i.stack.imgur.com/pOHOX.jpg
1
Moaz 28 Окт 2019 в 09:17
Пожалуйста, опубликуйте структуру вашей базы данных. Эта ошибка произошла в именах столбцов
 – 
Ahmed Ali
28 Окт 2019 в 09:22
Ваша функция $mysqli->query() возвращает false, потому что она не удалась, вы должны были поместить эту строку в вопрос. Выполните var_dump($userin);exit;, чтобы увидеть, что находится в этой переменной, что привело к падению запроса.
 – 
Accountant م
28 Окт 2019 в 09:38
Бухгалтер, а где именно писать этот код, я еще новичок в этой сфере
 – 
Moaz
28 Окт 2019 в 09:52
Выполните var_dump($userin);exit; сразу после $userin= $_SESSION['username'];, чтобы увидеть, что на самом деле представляет собой переменная $userin и почему это привело к падению запроса.
 – 
Accountant م
28 Окт 2019 в 10:43

1 ответ

Вы можете сделать некоторую отладку и тестирование. как проверить, установлена ​​ли переменная сеанса или нет:

if(isset($_SESSION['username'])){
 $userin= $_SESSION['username'];
} 
else{
   die("Session user name wasn't set");
}

И для запроса

$req = "SELECT * FROM request_table where r_status='pending' AND requester = '$userin';"

Для дополнительной отладки и тестирования вы можете использовать vardump, чтобы проверить, присутствуют ли данные или нет: vardump($request_table); надеюсь, это поможет вам в чем-то...

Надеюсь, это поможет.

0
Shiba Das 28 Окт 2019 в 10:44