( ′∀`)σ≡σ☆))Д′)レ(゚∀゚;)ヘ=З=З=Зε≡(ノ´_ゝ`)ノ
<?php
// idp/db_master.php
require_once 'config.php';
function getMasterDBConnection() {
static $pdo = null;
if ($pdo === null) {
$dsn = 'mysql:host=' . MASTER_DB_HOST . ';dbname=' . MASTER_DB_NAME . ';charset=utf8mb4';
try {
$pdo = new PDO($dsn, MASTER_DB_USER, MASTER_DB_PASS, [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
]);
} catch (PDOException $e) {
die("Master DB Connection failed: " . $e->getMessage());
}
}
return $pdo;
}
function findUserInMasterDB($email) {
$pdo = getMasterDBConnection();
$stmt = $pdo->prepare('SELECT * FROM users WHERE user_email = :email LIMIT 1');
$stmt->execute(['email' => $email]);
return $stmt->fetch(PDO::FETCH_ASSOC);
}
function createUserInMasterDB($userData) {
$pdo = getMasterDBConnection();
$stmt = $pdo->prepare('INSERT INTO users (user_email, username, pwd) VALUES (:email, :username, :pwd)');
$stmt->execute([
'email' => $userData['email'],
'username' => $userData['username'],
'pwd' => pwd($userData['password'], PASSWORD_DEFAULT),
]);
return findUserInMasterDB($userData['email']);
}