La clase que a continuación propongo utiliza un patrón llamado Singleton. Este patrón obliga a instanciar únicamente una vez la clase para evitar 2 o más conexiones simultáneas. La clase contiene métodos para ejecutar las 4 sentencias básicas SQL (INSER, UPDATE, DELETE y SELECT), cargar resultados en forma de objetos, ver el número de consultas totales, tomar el último ID insertado, ver el último error, etc.

Actualización (8 de enero de 2013)

Como lleva ya algún tiempo quedando obsoleta la extensión Mysql, he decidio modificar la clase para utilizar la extensión Mysqli. Esta extensión requiere obligatoriamente que utlices PHP 5.0 o posterior. Se utiliza totalmente orientada a objetos y aunque tiene el mismo rendimiento de la anterior mysql, es mucho más estable y segura.

 

Si notamos, el constructor es privado. ¿Por qué? para asegurarnos de que la clase se instancie desde dentro de sí misma. Es decir, al ejecutar el método DataBase::connect() llamamos al constructor y creamos una única instancia de DataBase. Si volvemos a ejecutar ese método y la clase ya ha sido instanciada antes, entonces nos devolverá la instancia. Eso es el objetivo del patrón Singleton.

Veamos entonces como hacer una conexión, ejecutar una consulta y mostrar los resultados. Se asume que los parámetros de conexión como el host, el nombre de usuario y demás se especifican directamente en las constantes de la clase.

Y ahí tienen un pequeñísimo ejemplo de uso. Aún faltan muchas cosas, como manejar persistencia, caché, hacer INSERTS con arrays y un largo etcétera. Pero aún así se puede usar para hacer consultas básicas y manipular los resultados.

Espero que les sea de utilidad.