【问题标题】:PHP MYSQL connecting to Session for UsernamePHP MYSQL 连接到用户名的会话
【发布时间】: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


【解决方案1】:
$s="SELECT * from register WHERE username = '". $_SESSION['username']."'";

您可以将查询存储在另一个局部变量中并执行它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-15
    • 1970-01-01
    • 2013-10-23
    • 2012-04-11
    • 1970-01-01
    • 2012-02-06
    • 1970-01-01
    • 2012-12-27
    相关资源
    最近更新 更多