"That doesn't happen too often," manager John Gibbons said. "That's not a good situation. I wouldn't expect to see either one of them for a few days."
Eckstein left in the fifth inning with a sore right hip and McDonald, his replacement, had to leave after injuring his right ankle in the sixth.
"It's not what you want to see," outfielder Vernon Wells said. "Hopefully both those guys will bounce back quickly."
McDonald injured himself while trying to come up with a grounder by Gabe Gross, rolling over on his right ankle as he went down to get the ball. Marco Scutaro replaced McDonald, who was taken off the field on a cart.
"It was scary," Wells said. "On turf, you never know what can happen."
McDonald is batting .182 with no homers and one RBI in 17 games.
Eckstein dived for a ball into shallow left by Dioner Navarro in the third, but couldn't make the catch. He hit an RBI double to center in the bottom of the inning and later scored on Scott Rolen's sacrifice fly.
Signed as a free agent this winter, Eckstein is batting .246 with one homer and 12 RBIs in 30 games this season. Eckstein has made six errors, and was replaced by McDonald for defensive purposes in the ninth inning of Monday's 1-0 victory over Chicago.
Acquired in an offseason trade with Oakland, Scutaro is batting .200 with one homer and eight RBIs in 25 games.