当前位置: 首页 > 面试题库 >

给定ID如何获取未知的用户名?

常心水
2023-03-14
问题内容

我得到一个20个字符的数字ID,看起来像 10527391670258314752 ,给定这个ID,我如何获得与之关联的用户名?

该表如下所示:

id                   | name | password | balance   
10527391670258314752 | Jhon | 12345    | 12.51

然后将从数据库中检索出的用户名存储到中$_SESSION['name']

我已经试过了:

$connection = mysqli_connect('localhost', 'root', '', 'user_data');
$id = '10527391670258314752';

$query = "SELECT username FROM user_data WHERE id = '$id'";
$result = mysqli_query($connection, $query);

$record = mysqli_fetch_array($id);
$_SESSION['id'] = $record;

echo $_SESSION['id'];

输出将Array()代替名称。


问题答案:

我强烈建议避免mysqli扩展。您应该使用一些数据库抽象库,而不是直接使用mysqli函数。mysqli类不适合单独使用。

如果您真的想使用纯mysqli类来做,则没有什么选择。

首先,您需要正确打开连接。这3行确保您已准备好连接:

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); // enable error reporting
$mysqli = new mysqli('localhost', 'username', 'password', 'dbname');
$mysqli->set_charset('utf8mb4'); // always set the charset

然后,您需要准备一条语句,绑定参数并执行它。

$id = '10527391670258314752';
$stmt = $mysqli->prepare('SELECT username FROM user_data WHERE id=?');
$stmt->bind_param('s', $id);
$stmt->execute();

语句执行后,您需要获取结果。如果只有一个变量,则只需使用bind_result()

$stmt->bind_result($_SESSION['name']);
$stmt->fetch();
echo $_SESSION['name'];

但是,不建议使用这种方法,也不是很灵活。相反,最好获取整个结果集并获取包含第一行的数组。

$result = $stmt->get_result();
$row = $result->fetch_array();
$_SESSION['name'] = $row['username'];
echo $_SESSION['name'];

作为PDO的替代方案,相同的代码如下所示:

session_start();

$pdo = new PDO("mysql:host=$host;dbname=$db;charset=$charset", $user, $pass, [
    \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION,
    \PDO::ATTR_EMULATE_PREPARES => false,
]);

$id = '10527391670258314752';

$stmt = $pdo->prepare('SELECT username FROM user_data WHERE id=?');
$stmt->execute([$id]);
$_SESSION['name'] = $stmt->fetchColumn();
echo $_SESSION['name'];


 类似资料:
  • 我需要在输入用户的邮件时获取用户ID。 有可能吗? 当然,我有一个经过身份验证的用户,他正在询问已经创建的用户的邮件。 我想检索像这样的用户 但以一种可能的方式。

  • 接口说明 获取当前登录用户id 如需调用,请访问 开发者文档 来查看详细的接口使用说明 该接口仅开放给已获取SDK的开发者 API地址 POST /api/user/1.0.0/getId 是否需要登录 是 请求字段说明 无 响应字段说明 参数 类型 说明 userId String 登录用户id 响应成功示例 { "code": 200, "data": { "userId":

  • 问题内容: 我想在模板中显示current_user的图片。使用django-allauth时如何访问用户的Facebook ID? 问题答案: 对于通过社交帐户注册的每个用户,都可以使用一个实例。此模型具有的外键。请注意,用户可以将多个社交网络帐户连接到其本地帐户,因此实际上可能有多个实例可用。 你如何处理此问题取决于项目。我可以想象有人想要在本地复制个人资料图片,或者你可能希望优先选择Face

  • 对于一些要求,我需要从登录页面的用户给定的用户名和密码。( 但是,我无法设法进入以下SecurityConfig的配置方法。 @EnableWebSecurity公共类SecurityConfig扩展WebSecurity配置适配器{

  • 我的问题是:不使用powershell命令是否可以获得azure active directory租户id? 我找到了这两个博客,在这个帮助下,我已经能够从PowerShell获得承租人ID和订阅ID。这是找回房客的唯一方法吗? 在Windows PowerShell中获取Windows Azure Active Directory承租人ID 对PowerShell的Windows Azure A

  • 我正在制作一个JDA(Java Discord API)程序,它需要检查消息是否是由机器人本身发送的。我怎样才能做到这一点?我想检查消息发送者的用户ID是否等于机器人的用户ID,但我如何在程序中获得机器人本身的用户ID?