Aquí les dejo una clase para manejar conexiones a BD MySQL, y la dejo por 2 motivos:
1.- para que la use quien crea que es útil
2.- para que los expertos peacheperos de este foro me tiren algunas líneas para mejorarla en general y para permitir principalmente que pueda usarse con varios usuarios sin tener que pasarle todos los datos a la hora de la inicialización.
En fin, espero que les guste

Código PHP:
   <?php
/*
BD v2 -> clase para manejo de conexiones y consultas a base de datos MySQL.
*/
 
# un poco de configuración
# ¿mostrar errores?
define('db_MOSTRAR_ERRORES', true);
 
# ¿salir si hay errores?: false para continuar.
define('db_SALIR_EN_ERROR', true);
 
# ¿mostrar la consulta al salir?
define('db_MOSTRAR_CONSULTA', true);
 
 
##### Usuario predeterminado
define('db_SERVIDOR', '');
define('db_USUARIO', '');
define('db_CONTRASENIA', '');
define('db_BASE', '');
 
 
 
 
if (!class_exists('BD')) {
 
class BD {
 var $conex;
 var $cons;
 var $errConex;
 var $errCons;
 var $UltCons;
 var $total;
 
 
 function BD($base = db_BASE) {
  $conectado = mysql_connect( db_SERVIDOR, db_USUARIO, db_CONTRASENIA );
  if ($conectado === false) {
   $this->errConex = "1 - No se pudo conectar al servidor: ".mysql_error();
   }
  else {
   if (mysql_select_db($base, $conectado) === false) {
    $this->errConex = "2 - No se pudo conectar a la base de datos especificada: ".mysql_error();
    }
   else {
    $this->errConex = "0 - Conexión realizada correctamente";
    $this->conex = $conectado;
    }
   }
  if ($this->errConex[0] != '0') {
   if (db_MOSTRAR_ERRORES) {
    echo $this->errConex;
    }
   if (db_SALIR_EN_ERROR) {
    exit;
    }
   }
  }
 
 function Consulta($cadena_consulta) {
  $this->UltCons = $cadena_consulta;
  if ($this->errConex{0} == '0') {
   $res = mysql_query($cadena_consulta, $this->conex);
   if ($res === false) {
    $this->errCons = '1 - Error en la Consulta: '.mysql_error();
    }
   else {
    $this->errCons = '0 - Consulta sin errores';
    $this->cons = $res;
    if (($res !== true) && ($res !== false) ) { # para que no lo calcule si no es necesario
     $this->total = mysql_num_rows($res);
     }
    }
   }
  else {
   $this->errCons = '2 - No se pudo realizar la consulta porque no hay conexiones activas';
   }
  if ($this->errCons[0] != '0') {
   if (db_MOSTRAR_ERRORES) {
    echo $this->errCons.'<p>';
    }
   if (db_MOSTRAR_CONSULTA) {
    echo $this->UltCons;    
    }
   if (db_SALIR_EN_ERROR) {
    exit;
    }
   }
  return (isset($this->cons)) ? $this->cons : $this->errCons;
  }
 
 function cambiaBase($nueva_base) {
  if (mysql_select_db($nuevabase, $this->conex) === false) {
   $this->errConex = '2 - No se pudo conectar a la base de datos especificada: '.mysql_error();
   }
  else {
   $this->errConex = '0 - Conexión realizada correctamente';
   }
  }
 
 function obtenerAsoc($apuntador = '') {
  $apuntador = (empty($apuntador)) ? $this->cons : $apuntador;
  return mysql_fetch_assoc($apuntador);
  }
 
 function obtenerReg($apuntador = '') {
  $apuntador = (empty($apuntador)) ? $this->cons : $apuntador;
  return mysql_fetch_row($apuntador);
  }
 
 function Liberar($resultado = '') {
  $resultado = (empty($resultado)) ? $this->cons : $resultado;
  return mysql_free_result($resultado);
  }
 }
}
?>    Saludos
 
 


