mirror of
https://github.com/ZeroDream-CN/PHPMC7
synced 2024-11-25 05:32:53 +08:00
48 lines
1.5 KiB
PHP
48 lines
1.5 KiB
PHP
<?php
|
|
class Profile {
|
|
|
|
public $id;
|
|
public $username;
|
|
public $email;
|
|
public $permission;
|
|
|
|
public function __construct($username) {
|
|
if(!empty($username) && preg_match("/^[A-Za-z0-9\-\_]+$/", $username)) {
|
|
$db = Config::MySQL();
|
|
$conn = mysqli_connect($db['host'], $db['user'], $db['pass'], $db['name'], $db['port']);
|
|
mysqli_query($conn, "set names 'utf8mb4'");
|
|
// Method 1 通过用户名查找用户
|
|
$rs = mysqli_fetch_array(mysqli_query($conn, "SELECT * FROM `{$db['name']}`.`users` WHERE `username`='{$username}'"));
|
|
if($rs) {
|
|
$this->id = $rs['id'];
|
|
$this->username = $rs['username'];
|
|
$this->email = $rs['email'];
|
|
$this->permission = $rs['permission'];
|
|
} else {
|
|
// Method 2 通过用户 ID 查找用户
|
|
$rs = mysqli_fetch_array(mysqli_query($conn, "SELECT * FROM `{$db['name']}`.`users` WHERE `id`='{$username}'"));
|
|
if($rs) {
|
|
$this->id = $rs['id'];
|
|
$this->username = $rs['username'];
|
|
$this->email = $rs['email'];
|
|
$this->permission = $rs['permission'];
|
|
} else {
|
|
// Method 3 通过用户邮箱查找用户
|
|
$rs = mysqli_fetch_array(mysqli_query($conn, "SELECT * FROM `{$db['name']}`.`users` WHERE `email`='{$username}'"));
|
|
if($rs) {
|
|
$this->id = $rs['id'];
|
|
$this->username = $rs['username'];
|
|
$this->email = $rs['email'];
|
|
$this->permission = $rs['permission'];
|
|
} else {
|
|
// 未找到任何数据,返回 null
|
|
$this->id = null;
|
|
$this->username = null;
|
|
$this->email = null;
|
|
$this->permission = null;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |