我有以下PHP脚本选择MySQL数据并显示所有不同的用户'表中的数据。
我需要的是将此数据仅限制为该会话的登录用户的数据。与登录人员的单个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);
?>
答案 0 :(得分:0)
你说得对,你在声明中需要一个WHERE
条款。
如果您有人登录并且正在寻找人员姓名登录在第一个商店,那么ID在变量中,例如$ _SESSION变量,您的陈述将如SELECT * FROM usertable WHERE id = {$_SESSION['id']}
首先,当用户登录存储它时,您需要一个函数
$_SESSION['id'] = row['id']
或者如果您正在寻找特定的名字/姓氏组合:
"SELECT * FROM usertable WHERE firstname = '{$firstname}' AND lastname = '{$lastname}'
答案 1 :(得分:0)
SESSION ID并不意味着您需要制作类似$ _SESSION ['user_id']的内容。
记住SESSION就像鬼一样,有时可能会丢失,没有任何痕迹。尝试使用简单的cookie来确认数据库中的会话数据存储。只是对该cookie进行限制,因此在几次之后,cookie将被破坏并以完全不同的值进行更新。
对于你的问题很简单,......
SELECT * FROM 'tablename' WHERE 'table_field' LIKE 'table_value'