php - 根据用户 session 关联 Mysql 表

标签 php mysql database authentication

我需要你的帮助来编写一个脚本来从两个表中获取用户登录的用户数据。

这是我的配置:

  • 我使用了 THIS GUIDE做登录表单和 session

  • 我的文件是:

---- Login.php (This file contains the login form in html)
---- db_connect.php (This is for database connection)
---- process_login.php (This controls the connection data and redirect user after login)
---- function.php (This is for sec_session_start (); and function to retrieve data from database)

数据库表:

  1. 成员
  2. 地址

好的,问题是这样的:

我的数据库中有 2 个表(称为:测试),第一个表 保存主要用户数据(id、用户名、密码、salt)

第二个表保存:id,Name,Surname,biography,day(生日日期),month(生日月份),year(生日年份)

当用户注册时,程序打印数据库中的用户数据。 当用户登录时,我需要获取用户数据作为名字和姓氏,但是如何从第二个表中恢复这些数据?

到目前为止,我已经开发了这个:

function get_talkm3_nome () {
    include 'db_connect.php';

    $conn = $mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE);

    $query = "SELECT addusr.nome FROM addusr, members WHERE members.username = '{$_SESSION['username']}'";
    $result = $conn->query($query);

    if ($result->num_rows > 0) {
        // output data of each row
        while($row = $result->fetch_assoc()) {
            echo "" . $row["nome"]. "<br>";
        }
    } else {
        echo "Si è verificato un errore, non ho trovato nulla";
    }

这个文件存储在函数中,我调用它来打印实际登录用户的名称,但它不能正常工作,因为我没有获取当前登录用户的名称(我的名字),而是得到了这个:< em>法布里齐奥,洛伦佐,test3

但是如何解决这个问题呢?

谢谢

最佳答案

你需要2张表,每张表中有一列,该列在两张表中必须具有相同的值,以建立它们之间的关系(外键)。 然后对于查询,您必须需要一个内部联接才能从 2 个表中获取数据。

这是一个来自 w3schools 的例子 http://www.w3schools.com/sql/sql_join_inner.asp 在示例中,外键是 CustomerID 列。

我向您推荐此页面以学习 mysql 和 php 等网络技术。

关于php - 根据用户 session 关联 Mysql 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29971139/

相关文章:

php - 更改 WooCommerce 成员(member)状态

java - 如何在 jtable 中设置相同的颜色并在 java 中将不同的颜色设置为不同的结果

mysql - 无法进行编号为 : 36 - MySQL Error No : 1059 的查询

sql - 如何制作归一化的成人和 child 表格?

Php日历星期随机用户计算

php - cjuidialog 模式窗口上的验证

php - 试图加入 3 个 mysql 表,但我没有得到预期的结果。什么是错误?

php - 在MYSQL中返回基于纬度/经度匹配距离查询的行数?

python - 将变量传递给 mysql.connector.connect

sql - 更改查询计划