【问题标题】:Access table data when using PHP and MySQL使用 PHP 和 MySQL 时访问表数据
【发布时间】:2012-04-11 04:50:35
【问题描述】:

好的,如果需要,我可以发布 PHP 代码,但我正在尝试使用数据库中的一些数据,但不知道如何访问它。这可能是一个简单的回复,但我是这个游戏的新手......

基本上,我已经能够为我的站点设置一个登录系统,如果您登录,它将显示登录用户的用户名,这是通过使用 $_SESSION 和会话类来完成的。

如果用户在哪里登录 ($session->logged_in) 等

        <h3>Welcome <? echo $session->username?> </h3>
        </head>

                <body>
      <p> Welcome to the website, your details are below </p>

        </body>
        <?php } ?>

我返回用户的用户名。

但是,我目前只能访问表“用户”中的数据,并且“用户”通过外键通过“用户名”字段连接到名为“乘客”的表。

我想做的不是打印用户名,而是打印用户的姓氏。

所以本质上是这样的:-

登录设置会话并识别登录的用户名。 通过在不同的表中查询这个用户名,可以从数据库中所有对应的表中提取数据。

但我不知道该怎么做..

如果你们知道任何示例代码,或者可以为我指出正确的方向,那就太好了。

【问题讨论】:

  • 为什么只能访问“users”表中的数据?您应该能够使用与该表相同的技术从“乘客”表中检索数据。

标签: php mysql database session web


【解决方案1】:
<? php
mysql_connect("localhost", "username", "password");
mysql_select_db("databasename");

$query = "SELECT surname FROM passengers WHERE username = " . $session->username . "";
$result = mysql_query($query);  

$data = mysql_fetch_assoc($result);

echo "Hello, your lastname is $data";
?>

我想这就是你所指的?

此外,即使您是 php 等方面的新手,也请尝试研究 mysql 注入以及如何防止它(当前代码很容易受到 mysql 注入的影响——如果要使用用户输入;感谢 Carrie Kendall哈哈 =])

使用mysql_real_escape_string 是个不错的起点。

编辑- 不确定,但这也可能会有所帮助,因为我不完全确定您的意思; mysql (left) join

【讨论】:

  • 哈哈,是的,我想你是对的.. 仍然可以方便地参考它:D
  • 我正在使用帖子中提到的 mySQL,谢谢。太好了,谢谢。我会尝试你的建议。一个简单的想法,如果我想访问多个字段,例如用户的名字和姓氏。我会只查询我想要访问的字段数吗?或者有没有办法,例如,我可以将整个 PASSENGER 表放入一个数组或其他什么,然后只需调用 $surname 等。
  • 还有@Bono,你建议的代码会抛出Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given的错误...有什么想法吗?非常感谢您和@CarrieKendall 迄今为止的帮助。
  • 您可以通过这种方式指定您想要的字段:“SELECT firstname, surname (or more, 只要它存在) FROM tablename”如果要从表中选择所有字段,请执行“ SELECT * FROM 表名"
  • 另外,如果您要检索多于 1 条记录,请使用 while 循环;这应该让你走上正轨:php.net/manual/en/function.mysql-fetch-assoc.php
猜你喜欢
  • 2021-03-12
  • 2017-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多