$ result-> num_rows; возвращает число строк, затронутых запросом. Когда вы выполняете счет (*) в таблице, он возвращает только одну строку, поэтому у вас не может быть другого результата, чем 1.