prepare(" SELECT a.*, p.id as person_id, p.name as person_name, p.color as person_color, p.avatar as person_avatar FROM admins a LEFT JOIN persons p ON a.person_id = p.id WHERE a.id = ? "); $stmt->execute([$_SESSION['admin_id']]); return $stmt->fetch(); } return null; } // 获取所有管理员(含关联观影人) function getAllAdmins() { $db = getDB(); $stmt = $db->query(" SELECT a.id, a.username, a.avatar, a.person_id, p.name as person_name FROM admins a LEFT JOIN persons p ON a.person_id = p.id ORDER BY a.id "); return $stmt->fetchAll(); } // 添加管理员(支持关联观影人) function addAdmin($username, $password, $avatar = null, $person_id = null) { $db = getDB(); $stmt = $db->prepare("SELECT COUNT(*) FROM admins WHERE username = ?"); $stmt->execute([$username]); if ($stmt->fetchColumn() > 0) return false; $hashed = password_hash($password, PASSWORD_DEFAULT); $stmt = $db->prepare("INSERT INTO admins (username, password, avatar, person_id) VALUES (?, ?, ?, ?)"); return $stmt->execute([$username, $hashed, $avatar, $person_id]); } // 删除管理员 function deleteAdmin($id) { $db = getDB(); $stmt = $db->query("SELECT COUNT(*) FROM admins"); if ($stmt->fetchColumn() <= 1) return false; if ($id == $_SESSION['admin_id']) return false; $stmt = $db->prepare("DELETE FROM admins WHERE id = ?"); return $stmt->execute([$id]); } // 更新管理员的观影人关联 function updateAdminPersonId($admin_id, $person_id) { $db = getDB(); $stmt = $db->prepare("UPDATE admins SET person_id = ? WHERE id = ?"); return $stmt->execute([$person_id, $admin_id]); }