MySQLi er ikke mere sikkert end MySQL driveren i den forstand at man kan lave de samme dumhedsfejl med begge drivere.
MySQLi er en integreret driver til PHP hvor MySQL drivere er en udvidelse. MySQLi driverens force ifht. MySQL er muligheden for prepared statements og hvis man kigger den vej, er det mere sikkert, da MySQLi laver autoescaping på alt det "farlige". Det gør den ikke ved alm. statements.
Den mest omtalte forskel der er på de to drivere, er deres integration. Da MySQL er et modul/en udvidelse til PHP sige det at være langsommere til at afvikle set i forhold til MySQLi, da denne driver er udviklet specifikt til PHP og kommunikationen med databasen. Om der er hold i det ved jeg ikke. Men jeg ved at prepared statements er en super idé og fungerer optimalt for mit vedkommende.
Selvom der ikke rigtig er nogen grund til det, er det en udemærket idé at udvikle to forskellige komponenter til hhv. MySQL og MySQLi. Det giver rig mulighed for at lære hvordan man laver abstraktionsklasser mm.
Men det er dumt at lave et interface paradigm der beskriver strukturen for en MySQL klasse og et andet interface der beskriver strukturen for en MySQLi klasse. Det skal være mere generelt, så det kan bruges flere steder. Så kan interfacet måske hedde "DatabaseInterface".
...og nu gider jeg ikke skrive mere.