我需要你的帮助来编写一个脚本来从两个表中获取用户登录的用户数据。
这是我的配置:
我使用了 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 forsec_session_start ();
and function to retrieve data from database)
数据库表:
- 成员
- 地址
好的,问题是这样的:
我的数据库中有 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/