【发布时间】:2015-05-30 10:00:05
【问题描述】:
所以我有以下代码:
<?php
try {
// Show existing entries.
foreach($db->query('SELECT * from register') as $row) {
echo "<strong>" . $row['firstName'] ."</strong> " . "<strong>" . $row['surname'] ."</strong> "
. " Course = " . $row['course'] .
" Subject = " . $row['subject'] . " Level = " . $row['level'] . " Date = " . $row['date'] . " Time = " . $row['time'] .
"</div>";
}
} catch (PDOException $ex) {
echo "An error occurred in reading or writing to register.";
}
$db = null;
?>
所有代码都运行良好,我可以查看数据库表“注册”的所有条目。但我只想查看一个用户,登录的用户保存为会话。我尝试输入 WHERE 子句,例如:
foreach($db->query('SELECT * from register WHERE username = '". $_SESSION['username']."'') as $row)
我尝试了各种技术,但最终结果要么是:没有结果显示,要么出现在页面上。或者有语法错误。
那么仅选择通过会话登录的用户的正确语法或方法是什么?
我正在使用 Google App Engine PHP 网站和附加的 Cloud MySQL 数据库。 所以基本上,用户登录并且用户名是“用户名”。所以会话的用户名='用户名',我将如何只选择当前登录的用户。所以每个用户的用户名都会不同,所以我试图从会话中获取 WHERE 子句的用户名。
【问题讨论】:
-
仔细看,荧光笔已经给出了提示
'". $_SESSION['username']."'',为什么不绑定那些 -
那么它看起来如何绑定?
-
我建议改用这种方式wiki.hashphp.org/…
-
谢谢。但是我不知道如何使用带有 WHERE 子句的会话,因为如果我有正常的 WHERE 用户名 = 用户名,那么它只会选择一个。但是帐号很多所以我只想选择会话用户名
-
什么意思它只会选择一个?当然它只会选择一个,除非你想要重复的用户名,这很奇怪。
标签: php mysql sql database session