Php 我如何链接;用户ID“;用",;用户名";这样我就可以更新我的表了?
我的问题是:Php 我如何链接;用户ID“;用",;用户名";这样我就可以更新我的表了?,php,mysql,sql,session,Php,Mysql,Sql,Session,我的问题是: $query = ("UPDATE users SET username='$username', password='$password', email='$email' WHERE userID = '79'"); $result = mysqli_query($connection, $query); 我想更新登录的人,而不是更新用户79。因此,我是否会将$\u SESSION,而不是放入79?。如果是这样,会话将链接到用户名,而不是用户ID。因此我想知道,如何将用户登录
$query = ("UPDATE users SET username='$username', password='$password', email='$email' WHERE userID = '79'");
$result = mysqli_query($connection, $query);
我想更新登录的人,而不是更新用户79。因此,我是否会将$\u SESSION
,而不是放入79
?。如果是这样,会话将链接到用户名,而不是用户ID。因此我想知道,如何将用户登录的用户名与与其关联的用户ID链接
对不起,我是这个论坛的新手
当他们登录时,他们只输入用户名和密码。他们不输入他们的用户ID。那么,当用户ID不是通过表单发布时,我如何获取它呢?我需要以某种方式将用户名(他们键入的用户名)与他们的用户名链接起来。在$\u会话中存储用户名时,也会存储用户名。您只需编写
$\u会话['UserID']='USER\u ID\u VALUE'
这样,您将能够在用户有活动会话时访问用户id 这是滚动您自己的会话管理系统的危险之一。如果你以前从未做过,你会犯很多错误。其中一些错误将非常严重。这就是为什么使用A给你一个好的基础几乎总是一个好主意。 通常,当您成功登录时,应该捕获已登录用户的ID。不能假定用户名随时间的推移是一致的,但ID将是一致的 然后您可以对该ID执行更新 请记住,使用ORM之类的工具将非常容易。你在这里做事的方式故意让事情变得困难 $identity = new stdClass(); $identity->user_id =123; $identity->username = 'john'; $_SESSION['identity'] = $identity; // usage without checks, $identity = $_SESSION['identity']; echo $identity->user_id; $identity=新的stdClass(); $identity->user\u id=123; $identity->username='john'; $\会话['identity]=$identity; //使用无需检查, $identity=$\会话['identity']; echo$identity->user\u id;
登录时将用户ID放入会话中。当使用
mysqli
时,您应该使用参数化查询并将用户数据添加到查询中。不要使用字符串插值来实现这一点,因为您可能会创建严重的错误。在会话中只有用户名而没有用户id,在更大的应用程序中不会有多大帮助。与其将用户id直接保存到会话中,不如将用户id和相关字段存储到标识对象中,然后将标识对象存储到会话中。