C# class variables null on other methods but assigned on Start()

Hi there, I have a problem on C# script. The private variable is assigned on Start() function, but on all other methods, when I try to use its value, it is null. What is the problem ??

using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class PlayerManage : MonoBehaviour
{
    private string uid;

void Start()
{
    GameObject DbComponent = new GameObject("DBConfig");
DbComponent.gameObject.tag = "Database";
DbComponent.AddComponent<DbCommunication>();
DbComponent.GetComponent<DbCommunication>().setPlayerComponent(this);
dbCall = DbComponent.GetComponentInChildren<DbCommunication>();

    getUid("123123");
}

void getUid(string fbid)
{
    uid = fbid;

    //Call php to get user's character
if(uid != null && uid != "")
{
	dbCall.searchCharacter(uid);
}
}

public void getWaypoints()
{
    //Call php to get the waypoints
    dbCall.searchWaypoints(uid, "wayPoints"); //this uid is null
}

}

Thanks !!

OLD: You have declared a String but entered an integer value. Declare a String as “1”.

Edit: Works fine for me… Prints 1

using UnityEngine;
using System.Collections;
 
public class testscript1 : MonoBehaviour
{	
	private int uid;
     
    void Start()
    {
		uid = 1;
    }
    
	void Update()
	{
		Test();
	}
	
    void Test()
    {
		Debug.Log(uid); //this print null
    }
}

I finally found a solution…
The problem was that the PlayerManage prefab was with the DBCommunication prefab assigned in the inspector…
Now, I assign the prefabs at Start function searching for a GameObject with specific tag… like:

void Start()
{
plManage = GameObject.FindGameObjectWithTag(“Manage”).GetComponent();
}

When they call the function on PlayerManage, the dbCall is not null anymore !!
I believe that Unity don’t allow you to use the prefabs and reference it inside the scripts if you don’t get the reference at runtime…

Thanks all for support me !!