Lecciones de PHP - Lección 3 - Trabajo con la base de datos MySQL.
Probablemente pienses que es demasiado pronto para comenzar la tercera lección directamente con el trabajo en la base de datos MySQL. Pero créeme, no es así. Estudiar PHP como un lenguaje de programación web sin aprender a trabajar con bases de datos es como tener una computadora sin internet. Sí, puedes trabajar en esa computadora, pero no tienes de dónde obtener información. Así que apretemos los dientes y empecemos a escribir consultas SQL a la base de datos, incluso si no sabemos nada sobre el lenguaje SQL.
SQL (Structured Query Language — «lenguaje de consultas estructuradas») es un lenguaje informático universal, utilizado para crear, modificar y gestionar datos en bases de datos tabulares. SQL se basa en el cálculo de registros en tablas.
PHP puede trabajar con muchas bases de datos: MySQL, PostgreSQL, Oracle y muchas otras. Vamos a estudiar cómo trabaja PHP con MySQL porque esta combinación es muy popular para la creación de sitios web. Además, aprender a trabajar con MySQL te permitirá en el futuro trabajar también con otras bases de datos, ya que SQL es un lenguaje universal y su sintaxis es prácticamente igual en todas las bases de datos tabulares.
MySQL es un sistema de gestión de bases de datos libre. MySQL es propiedad de la empresa Oracle Corporation, que la obtuvo al adquirir Sun Microsystems, la cual desarrollaba y daba soporte a la aplicación. Se distribuye bajo la Licencia Pública General GNU o bajo una licencia comercial propia.
Tendremos muchas lecciones sobre SQL en sí. Por ahora, comencemos con algo simple: cómo conectar la base de datos. Para ello, crearemos otro método en nuestra clase simpleCMS:
public function connectDB() { }
Esto nos permitirá invocar la conexión a la base de datos desde cualquier parte del código donde ya exista un objeto de nuestra clase. Esto es muy conveniente.
También necesitaremos las variables del servidor MySQL, el usuario de la base de datos y el nombre de la base de datos:
class simpleCMS { public $host = 'localhost'; public $username = 'root'; public $password = '';
Definiremos estas variables por defecto, en caso de que olvidemos definirlas. Yo uso Denwer, por lo tanto tengo esta configuración de MySQL. Si estás usando un hosting o un servidor dedicado para tu sitio, entonces debes usar tu propio usuario de MySQL.
Ahora usemos la función mysql_connect() para crear una conexión con MySQL.
public function connectDB() { $link = mysql_connect($this->host, $this->username, $this->password); if (!$link) { die('Error de conexión: ' . mysql_error()); } return $link; }
Ahora analicemos cómo funciona la función mysql_connect(). Para empezar, la función requiere tres parámetros: el nombre del servidor de la base de datos, el usuario de la base de datos y la contraseña del usuario. Luego viene la función die, lo que significa que se mostrará un mensaje de error en caso de que la conexión no se establezca. Las variables $this->host, $this->username, $this->password hacen referencia a las propiedades de la clase. Como ya las hemos definido por defecto, se pasan directamente y no es necesario definirlas en el método connectDB().
La función mysql_connect devuelve una variable de conexión $link del tipo resource, al igual que resource de un archivo o carpeta, por lo tanto, debemos cerrar esta conexión después de finalizar el trabajo para liberar memoria. Puedes eliminar el mensaje de conexión exitosa.
Ahora vamos a llamar nuestro método al principio del archivo index.php, justo después de incluir el archivo de la clase:
$obj = new simpleCMS(); // creamos un objeto de la clase de gestión $db_connection = $obj->connectDB();
En todas partes donde necesitemos conectar la base de datos, incluiremos el archivo con nuestra clase, crearemos un objeto y luego llamaremos al método de conexión a la base de datos. Como ves, trabajar con bases de datos no es tan complicado.
Así como creamos una conexión, debemos cerrarla al final del trabajo. Cerraremos la conexión usando la función mysql_close(). No voy a crear otro método para cerrar la conexión (aunque valdría la pena hacerlo cuando sea necesario). Por lo tanto, simplemente añadiré el código:
include_once('class/simpleCMS.php'); // incluimos el archivo con la clase $obj = new simpleCMS(); // creamos un objeto de la clase de gestión $db_connection = $obj->connectDB(); //creamos la conexión //algún trabajo con la base de datos mysql_close($db_connection); // cerramos la conexión
Creo que he explicado todo claramente y en la próxima lección escribiremos consultas a la base de datos MySQL. Si algo no quedó claro, escríbeme en los comentarios.