I'm trying to rewrite a "DataAccess" class for an app written by Someone Else(tm).
They didn't use PDO, nor MySQLI. I'm trying to decide which I want to use. Their class made use of a good number of prepared statements, and when an array is fed in they don't bother to enumerate or even label the params array (in other words, the array could be flat, or associative, and the number of members varies from call to call).
So far I've run into have a little trouble with MySQLI and a varying number of params. However, the outside app uses Execute() as a native DB call and think I'm having issues because that name conflicts with the built-in PDO execute() function (xDebug: Maximum function nesting level of '200' reached, aborting!).
Any thoughts? Which do you prefer (PDO, or MySQLI). Do you use $mysqli->prepare() and, if so, can you feed it any number of bind params at will? Alternatively, if I use PDO what shall I do with all those DataAccess::Execute() calls that appear as if they'll be broken?