PDO Execute() function not binding the parameter
===

I have the following function. I expect it to print the number of rows in the table provided in its argument.

    private function getTotalCount($tbl){
        $sql = "SELECT count(*) FROM :tbl ;";
		$sth = $this->db->prepare($sql);
		$sth->execute(array(
			':tbl' => $tbl
		));
		$data = $sth->fetch(PDO::FETCH_ASSOC);
		print_r($data);
	}

But the function is not printing anything...

When I replace the function to something like this:

    private function getTotalCount($tbl){
        $sql = "SELECT count(*) FROM $tbl ;";
		$sth = $this->db->prepare($sql);
		$sth->execute();
		$data = $sth->fetch(PDO::FETCH_ASSOC);
		print_r($data);
	}

Then it works fine and print the number of rows.

**QUESTION:** Why the execute() funtion not binding the :tbl parameter to $tbl ??