Script to display any prefab that I have

So my question is, how do I work this idea.

The script would be after logging in on the server, the script will check the database>users>column example:monster1.prefab
Then the script will automatically display the monster1prefab on the UI

here is my script for logging in system

on the script, it was easy to just drag everything, and set everything but it seems that my prefabs are not showing or displaying.

I already have prefabs, by the way, it was full and with animation. When I just drag it, it’s working. What I want is to display what the user has,

using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Networking;
using System.Collections;
using System.Collections.Generic;

public class Server : MonoBehaviour
{
    [SerializeField] GameObject welcomePanel;
    [SerializeField] Text user; // Text object to display user information
    [SerializeField] GameObject[] prefabDisplays; // GameObject array to display prefabs
    [SerializeField] InputField usernameField;
    [SerializeField] InputField passwordField;

    [SerializeField] Text errorMessages;
    [SerializeField] GameObject progressCircle;

    [SerializeField] Button loginButton;

    [SerializeField] string url;

    UnityWebRequest request;

    public List<MonsterData> monsterDataList = new List<MonsterData>(); // List to store Monster data

    public void OnLoginButtonClicked()
    {
        loginButton.interactable = false;
        progressCircle.SetActive(true);
        StartCoroutine(Login());
    }

    IEnumerator Login()
    {
        string loginUrl = url.StartsWith("http") ? url.Replace("https", "http") : url; // Modify the URL if it's using HTTPS

        List<IMultipartFormSection> formData = new List<IMultipartFormSection>();
        formData.Add(new MultipartFormDataSection("username", usernameField.text));
        formData.Add(new MultipartFormDataSection("password", passwordField.text));

        using (request = UnityWebRequest.Post(loginUrl, formData))
        {
            yield return request.SendWebRequest();

            if (request.result != UnityWebRequest.Result.Success)
            {
                errorMessages.text = "Network error: " + request.error;
                Debug.LogError("Network error: " + request.error);
            }
            else
            {
                if (request.downloadHandler.text.Contains("error"))
                {
                    errorMessages.text = "Invalid username or password!";
                    Debug.LogError("Invalid username or password!");
                }
                else
                {
                    // Parse the received data to retrieve the player's owned monsters (replace this with your actual data parsing logic)
                    List<string> ownedMonsterTokens = ParseOwnedMonsters(request.downloadHandler.text, usernameField.text);

                    // Clear existing monster data
                    monsterDataList.Clear();

                    // Add monster data based on the tokens retrieved from the database
                    foreach (string token in ownedMonsterTokens)
                    {
                        // Load the monster prefab by name (token)
                        GameObject monsterPrefab = Resources.Load<GameObject>(token); 
                        if (monsterPrefab != null)
                        {
                            // Create a new MonsterData instance with prefab reference and add it to the list
                            MonsterData monsterData = new MonsterData();
                            monsterData.monsterPrefab = monsterPrefab;
                            monsterDataList.Add(monsterData);
                        }
                        else
                        {
                            Debug.LogWarning("Monster prefab not found for token: " + token);
                        }
                    }

                    // Open welcome panel
                    welcomePanel.SetActive(true);
                    user.text = usernameField.text;
                    Debug.Log("Logged in successfully!");

                    // Display monster data on the UI
                    DisplayMonsterData();
                }
            }
        }

        loginButton.interactable = true;
        progressCircle.SetActive(false);
    }

    // Modified method to parse owned monster data based on the username and token ids
    private List<string> ParseOwnedMonsters(string data, string username)
    {
        // Dummy implementation: Splitting the received data by commas and checking for username and token ids
        string[] tokens = data.Split(',');
        List<string> ownedMonsterTokens = new List<string>();
        foreach (string token in tokens)
        {
            // Check if the token contains the username or any of the token ids
            if (token.Contains(username) || token.StartsWith("tokenid1") || token.StartsWith("tokenid2") || token.StartsWith("tokenid3"))
            {
                ownedMonsterTokens.Add(token);
            }
        }
        return ownedMonsterTokens;
    }

    // Method to display monster data on the UI
    void DisplayMonsterData()
    {
        // Clear existing UI data
        ClearPrefabDisplays();

        // Populate UI with monster data from monsterDataList
        for (int i = 0; i < monsterDataList.Count; i++)
        {
            if (i < prefabDisplays.Length && monsterDataList[i] != null && monsterDataList[i].monsterPrefab != null)
            {
                // Instantiate the prefab at its position and rotation
                Instantiate(monsterDataList[i].monsterPrefab, prefabDisplays[i].transform.position, prefabDisplays[i].transform.rotation);
            }
        }
    }

    // Clear existing prefab displays
    void ClearPrefabDisplays()
    {
        foreach (GameObject display in prefabDisplays)
        {
            foreach (Transform child in display.transform)
            {
                Destroy(child.gameObject);
            }
        }
    }

    [System.Serializable]
    public class MonsterData
    {
        public GameObject monsterPrefab; // Reference to the monster prefab
        // Add other monster data fields as needed
    }
}