On sites that I did long ago this may be an issue because I used to hard code MySQL commands directly in the code (like most beginners do) but I have been using a home grown database engine object since about 2001 (which is kept FULLY backward compatible at all times).
The engine detects if the mysqli function set is available and if it is, it uses it.
If they are not present it uses the mysql set of commands.
I even got the object to work well connecting to a MSSql database (as well as it could using a Windows native database anyway) and to look at the code accessing the database object, you wont realize that it is connecting to MSSql.
On top of that it was a Windows Server with a php plugin. They wanted me to do it in ASP but I refused point blank!
After 8 months of their in house ASP "Experts" trying, they loaded the php plugin and I had it up in about a week.
Oh the joys of using standard code objects !
And do not forget that "PHP Rocks!"