The star, who has appeared in numerous award-winning films, was in the city of Zhongshan when the incident happened.
Video shared on Weibo, the Chinese equivalent of Twitter, shows a man approach the stage and lunge at the actor before a violent scuffle ensues.
Mr Yam's manager said his client's injuries were not life-threatening and he had been taken to hospital.
"He was stabbed in his stomach and slashed on his arm, but was conscious the entire time," Lester Mo Gee-man told the South China Morning Post.
He added: "A preliminary investigation showed his injuries were not critical but the doctors are still deciding whether to operate on him".
The 64-year-old actor was appearing at the opening of a new shop in Zhongshan in the southern province of Guangdong on Saturday.
Video shows a man rush onto the stage and remove a weapon from his pocket. He can then be seen lashing out at Mr Yam, who tries desperately to move away while clutching his stomach.
Security guards then rush to intervene and, according to police, the attacker was detained at the scene.