У меня есть веб-сайт, на котором есть несколько пользователей, которые отправляют некоторые запросы, поэтому у каждого пользователя будет своя собственная таблица запросов, которая была сделана. моя проблема в том, что я пытаюсь показать запросы для каждого пользователя в таблице, используя переменные сеанса, чтобы получить имя пользователя и сопоставить его с таблицей запросов, но это не работает.
$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 ответ
Вы можете сделать некоторую отладку и тестирование. как проверить, установлена ли переменная сеанса или нет:
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); надеюсь, это поможет вам в чем-то...
Надеюсь, это поможет.
Похожие вопросы
Новые вопросы
php
PHP — это открытый, мультипарадигмальный, динамически типизированный и интерпретируемый язык сценариев, изначально разработанный для веб-разработки на стороне сервера. Используйте этот тег для вопросов о программировании на языке PHP.
$mysqli->query()
возвращаетfalse
, потому что она не удалась, вы должны были поместить эту строку в вопрос. Выполнитеvar_dump($userin);exit;
, чтобы увидеть, что находится в этой переменной, что привело к падению запроса.var_dump($userin);exit;
сразу после$userin= $_SESSION['username'];
, чтобы увидеть, что на самом деле представляет собой переменная$userin
и почему это привело к падению запроса.