Number of values in table returns zero no matter what

relevant code:

AllImageTables = {}
local function CreateArtDisplay(PlayerName, Table)
	for i = 1,#AllImageTables do
		local New = game.ReplicatedStorage.MinigameMaps.Draw.VotePainting:Clone()
		New.Parent = workspace
		New.Player.Value = PlayerName
		New.Position += Vector3.new(0,0,102*i)
	end
end
local function AddImageToMaster(Player, Table)
	local PlayerName = Player.Name
	
	AllImageTables[PlayerName] = Table
	print(AllImageTables)
	print(#AllImageTables)
	if #AllImageTables == #game.Players:GetPlayers() then
		CreateArtDisplay(PlayerName,Table)
	end
end

This piece of code receives a table of X and Y coordinate values with colours that make up a painting, ad stores all the paintings into AllImageTables.

I can’t seem to figure out how get the number of paintings that were recieved, when I print #AllImageTables, I get this:
image
my player’s image was successfully added to the table, but the zero at the bottom says that the number of items in AllImageTables is zero?

basically, how do I get the number of items stored in the AllImageTables table, thank you!

Edit: I realise there is more bugs in the code lol, I can solve those I just need this issue fixed.

You can’t numerically index a dictionary. It looks like dude7271 is an array though, try indexing that table instead. print(#AllImageTables[“dude7271”])

ok, but I need to find how many players are in the big table

let’s say there was
dude7271 = {},
dude7272 = {},
dude7273 = {},
dude7274 = {}
four different players, I need to get that number, four. should I change AllImageTables from a dictionary into an array?

You’ll have to make a counter function

local function GetDictionarySize(DictionaryBeingMeasured)
	local Counter = 0
	for i,v in pairs (DictionaryBeingMeasured) do
		Counter += 1 
	end
	return Counter
end