Actually, I prefer to abstract the database with a very thin layer, so I can change database engines just by changing a line in the connect.inc file I'm using.
I just write a wrapper for the standard connect, execute query, and get a row parts to abstract out the database, so I can handle multiple connects (don't need to often, but sometimes.)
I.e.
$connect=db_connect($server,$user,$etc);
$result=db_exec($connect,$query);
$row=db_fetchrow($result,$index);
etc.