pdo = $pdo; $this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } public function getUserById(int $userId): ?array { // Prepared statement to prevent SQL Injection $stmt = $this->pdo->prepare("SELECT id, username, email FROM users WHERE id = :id"); $stmt->bindParam(':id', $userId, PDO::PARAM_INT); $stmt->execute(); return $stmt->fetch(PDO::FETCH_ASSOC); } public function createUser(string $username, string $email, string $passwordHash): bool { $stmt = $this->pdo->prepare("INSERT INTO users (username, email, password_hash) VALUES (:username, :email, :password_hash)"); $stmt->bindParam(':username', $username, PDO::PARAM_STR); $stmt->bindParam(':email', $email, PDO::PARAM_STR); $stmt->bindParam(':password_hash', $passwordHash, PDO::PARAM_STR); return $stmt->execute(); } } // Example Usage: // try { // $dsn = 'mysql:host=localhost;dbname=mydb;charset=utf8mb4'; // $pdo = new PDO($dsn, 'user', 'password'); // $processor = new UserDataProcessor($pdo); // $user = $processor->getUserById(123); // if ($user) { // echo "User found: " . htmlspecialchars($user['username']) . " "; // } else { // echo "User not found. "; // } // // Assuming password_hash is already generated securely (e.g., using password_hash() function) // // $processor->createUser('newuser', 'new@example.com', 'secure_hash_here'); // } catch (PDOException $e) { // error_log("Database Error: " . $e->getMessage()); // echo "A database error occurred."; // }