What your message sorta says is:
"I am PHP. I am smarter than you. I shall do it this way, because your way sucks."
Ok, it's not exactly saying that, but sometimes it's fun to pretend. smile
Rather than ponder the question of why PHP does the things it does (as much fun as that is), why are you passing the values by reference?
If you remove the "&" from before each error message, will your program act any differently?
Typically, right after a call like that, any errors should be captured/converted into something else, be it file database variable or echo to screen, so the results aren't lost when you next call a function.
So, the answer. For one, PHP is telling you that it is passing by value the variables you told it to pass by reference.
In other words, use of "&" serves nothing but to make PHP complain.
So, removing the "&" should allow your program to act exactly as it has before, minus the Warning message.
I find it's usually best to bow to the wishes of PHP. "Father Knows Best" meets technology.