【发布时间】:2015-12-07 03:20:26
【问题描述】:
我有以下 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);
?>
【问题讨论】:
-
您可以使用
WHERE。"SELECT * FROM usertable WHERE id = '".$_SESSION["id"]."'" -
作为新手尽量避免
SELECT *尝试使用必填字段名而不是*,这样以后可以节省很多时间,效率更高。 -
@LoganWayne 更易读的版本
"SELECT * FROM usertable WHERE id = '{$_SESSION['id']}'" -
感谢您的建议。但是,我的桌子似乎空了。有什么想法我可能做错了吗?澄清一下,SESSION 中的“id”是我的会话名称,对吧?这是我建立会话的代码,如果它有助于
<?php session_start(); #check to see if session exists if (isset($_SESSION['firstname_dmeisli1'])){ #there is a session $fn = $_SESSION['firstname_dmeisli1']; $displayLoggedIn = 'block'; $displayNotLoggedIn ='none'; } else { #no session $fn = ''; $displayLoggedIn ='none'; $displayNotLoggedIn = 'block'; } ?>请原谅我的格式