Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我如何链接;用户ID“;用",;用户名";这样我就可以更新我的表了?_Php_Mysql_Sql_Session - Fatal编程技术网

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和相关字段存储到标识对象中,然后将标识对象存储到会话中。