php - 在PHP中过滤MySQL数据以仅显示当前 session 用户的数据?

标签 php mysql mysqli

我有以下 PHP 脚本,它选择 MySQL 数据并在表中显示所有不同用户的数据。

我需要将此数据限制为仅该 session 的登录用户的数据。因为只有登录者的单个 ID、姓名和电子邮件,而不是显示所有用户数据的表格。

我假设我需要“SELECT * FROM usertable where (something) = (something)”,我只是不确定从这里去哪里。

如有任何帮助,我们将不胜感激。

<?php
$con=mysqli_connect("localhost","myusername","mypassword","mydatabase");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$result = mysqli_query($con,"SELECT * FROM usertable");

echo "<table border='1'>
<tr>
<th>ID</th>
<th>Firstname</th>
<th>Lastname</th>
<th>Email</th>
</tr>";

while($row = mysqli_fetch_array($result)) 
{
echo "<tr>";
echo "<td>" . $row['id'] . "</td>";
echo "<td>" . $row['firstname'] . "</td>";
echo "<td>" . $row['lastname'] . "</td>";
echo "<td>" . $row['emailaddress'] . "</td>";
echo "</tr>";
}
echo "</table>";

mysqli_close($con);
?>

最佳答案

你好!

<小时/>

嗯,你是对的,你需要一个 WHERE您的声明中的条款。

如果您有人登录并正在查找登录的人名,请首先将 id 存储在变量中,例如 $_SESSION 变量,您的语句将类似于 SELECT * FROM usertable WHERE id = {$_SESSION['id']}

所以首先你需要一个函数,当用户登录时存储它

$_SESSION['id'] = row['id']

或者如果您正在寻找特定的名字/姓氏组合:

"SELECT * FROM usertable WHERE firstname = '{$firstname}' AND lastname = '{$lastname}' 

关于php - 在PHP中过滤MySQL数据以仅显示当前 session 用户的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34125900/

相关文章:

PHP MySQL 查询在某些情况下失败?

php - 将 Mysql 更新为 mysqli 或 pdo 的最简单方法是什么

php - 如何从具有特定值的表中获取列名

javascript - PHP:如何将 foreach 数组索引 $key 计数更改为 1 而不是 0

php - MYSQL - 用于 SQL 查询的正则表达式

PHP 将数组元素添加到数据库不起作用

mysql - 缓慢的更改查询 MySql openjpa

PHP 服务器循环

php - curl 错误SSL证书无法获得本地颁发者证书 - 最近的开发

php - mysqli_fetch_assoc()需要参数/调用成员函数bind_param()错误。如何获取并修复实际的mysql错误?