prepare("SELECT * FROM expense_heads WHERE id = ?"); $stmt->bind_param("i", $headId); $stmt->execute(); $result = $stmt->get_result(); $head = $result->fetch_assoc(); $stmt->close(); if (!$head) { $_SESSION['error'] = "Expense head not found."; header("Location: base.php"); exit(); } $categoriesQuery = "SELECT id, name FROM expense_categories ORDER BY name"; $categories = $conn->query($categoriesQuery)->fetch_all(MYSQLI_ASSOC); if ($_SERVER["REQUEST_METHOD"] == "POST") { try { $stmt = $conn->prepare("UPDATE expense_heads SET name = ?, category_id = ? WHERE id = ?"); $stmt->bind_param("sii", $_POST['name'], $_POST['category_id'], $headId); $stmt->execute(); $stmt->close(); $_SESSION['success'] = "Expense head updated successfully!"; header("Location: base.php"); exit(); } catch (Exception $e) { $_SESSION['error'] = "An error occurred while updating expense head."; error_log("Edit expense head error: " . $e->getMessage()); } } $categoryOptions = ''; foreach ($categories as $category) { $selected = $category['id'] == $head['category_id'] ? 'selected' : ''; $categoryOptions .= ""; } $content = <<