Si, .. tienes lo que llaman "capas de abstracción de base de datos" .. en PHP implementadas como "classe's" normalmente.
Una de las más fomosas es (la usa creo que PHP-Nuke, phpBB y vários CMS's entre otros):
ADOdb
http://adodb.sourceforge.net/
Lo bueno que tiene ADOdb es que implementa muchos métodos própios para hacer lo más independiente posible el SQL que emplees sea cual sea el RDBMS (motor de BD) que uses.
Por ejemplo .. en SQL hay muchas diferencias a la hora de intentar "paginar" resultados ... unas usan LIMIT (Mysql, PostgreSQL y pese a eso se usan de forma diferente) .. otras "TOP" (MS SQL Server y algunas que entran por ODBC) .. Por ende, en estos casos no sólo el SQL cambiará para hacer una taréa de paginado sino tu código (pues no trabajan igual sus parámetros ni lo que hacen exactamente) .. Todo esto supuestamente ADOdb por ejemplo tiene métodos para solventar este detalle, .. tu indicas un SQL "básico" muy standard y ADOdb (su método adecuado) se encarga del resto según el RDBMS que estés usando.
Pero no es la única .. hay muchas, .. en sitios como
www.phpclasses.org puedes ver más.
Un saludo,