yinyeley

Hablamos sobre desarrollo web, programación, php, desarrollo de proyectos, web 2.0

Buscar

domingo, 2 de agosto de 2009

class.db.php :: Capa de datos para MySQL

La idea es fácil: centralizar todas las consultas a MySQL en una función que pueda generar informes y detectar errores. Las ventajas que ofrece son varias:
  • Si una consulta o conexión a MySQL falla, se envia un informe por email al administrador del sitio (configurable).
  • Evita mostrar mensajes de error de PHP en pantalla (por seguridad)
  • Informa del tiempo que tarda en realizarse una consulta
  • Implementación sencilla
Un Ejemplo:
include 'class.db.php'; // incluimos la clase

// datos de conexión a mysql
$array = array("localhost","root","12345","web");

// creamos la conexión
db::con($array);

// hacemos una consulta
db::query("SELECT * FROM noticias");

// voilá...
echo mysql_num_rows(db::$sql);
El metodo db::con se encarga de crear la conexión. Debemos indicarle los datos de conexión y lo podemos hacer de tres modos distintos:
  • Un array con los datos (tal y como se ve en el ejemplo)
  • Podemos pasar por separado los 4 valores de conexión db::con($server,$user,$pass,$db_name);
  • O podemos pasar directamente una conexion ya existente: la declaramos ($mysql_con = mysql_connect([...]);) y creamos con ella el objeto db::con($mysql_con);
El método db::query("SELECT * FROM noticias") realiza la consulta, devuelve false si no hubo éxito o bien o bien una variable de tipo resource con la consulta. En el ejemplo podríamos haber empleado otra forma: $sql = db::query([...]); que nos hubiera permitido trabajar directamente con la variable $sql y hacer cosas como esta: $result = mysql_fetch_assoc($sql);

Visita el projecto en Google Code