Cmq la soluzione è fattibile anche in una struttura procedurale... io ho fatto così:

function db_connect (){

$host="localhost";
$user="root";
$pass="";

if ((!empty($host)) &&(!empty($user)) ){
$link_id = mysql_connect($host,$user,$pass);
return $link_id;
}
}

function select_db ($dbname, $link_id){

if ((!empty($dbname))&&(!empty($link_id))){
return mysql_select_db($dbname, $link_id);
}

}

function close_db (&$db_id){

if (!empty($db_id)){
return mysql_close($db_id);
}
}

Come vedi ho messo un costrutto di controllo per evitare che vengano eseguite queste funzione in assenza di parametri. Funziona e non ho riscontrato problemi. Se mai in futuro voglio passare in oop questo non mi comporterà grossi sconvolgimenti a livello di codice...