setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); return $pdo; } catch (PDOException $e) { echo "Échec de la connexion : " . $e->getMessage(); } return null; } class AuthAttempt { public string $username; public string $status; public string $timestamp; public string $ip_address; public function __construct( string $username, string $status, string $ip_address, string $timestamp = "", ) { $this->username = $username; $this->status = $status; $this->ip_address = $ip_address; $this->timestamp = $timestamp; } } function InsertLine(AuthAttempt $attempt) { $table_name = "authentification_attempts"; $pdo = GetDbConnection(); $query = $pdo->prepare("INSERT INTO $table_name(`username`, `status`, `ip_address`) VALUES (:user, :status, :ip);"); $query->bindValue(":user", $attempt->username, PDO::PARAM_STR); $query->bindValue(":status", $attempt->status, PDO::PARAM_STR); $query->bindValue(":ip", $attempt->ip_address, PDO::PARAM_STR); $query->execute(); } function GetLines() : array { $table_name = "authentification_attempts"; $pdo = GetDbConnection(); $query = $pdo->prepare("SELECT * FROM $table_name;"); $query->execute(); $lines = $query->fetchAll(\PDO::FETCH_ASSOC); $result = []; foreach($lines as $line) { array_push($result, new AuthAttempt($line["username"], $line["status"], $line["ip_address"], $line["timestamp"])); } return $result; }