Lecciones de PHP - Lección 3.1 - Trabajo con bases de datos MySQL. Creación de tablas.
En la lección anterior creamos la conexión con la base de datos. En esta lección vamos a crear las tablas para nuestro futuro sitio web. Para comenzar, agreguemos el nombre de la base de datos que necesitaremos en la clase simpleCMS:
class simpleCMS { // clase de gestión public $host = 'localhost'; //variables para trabajar con la base de datos public $username = 'root'; public $password = ''; public $db = 'testDB';
Ahora debemos crear esta base de datos en nuestro servidor MySQL. Si también estás usando Denwer, puedes usar phpMyAdmin, que viene incluido. Ve a phpMyAdmin mediante este enlace y crea una nueva base de datos:
Ahora que hemos configurado los ajustes y creado la nueva base de datos, vamos a ajustar la conexión con el servidor MySQL en PHP. Modifiquemos el método de conexión a la base de datos:
public function connectDB() { $link = mysql_connect($this->host, $this->username, $this->password); // conectar al servidor MySQL if (!$link) { die('Error de conexión: ' . mysql_error()); } mysql_select_db($this->db) or die("No se puede encontrar la base de datos. " . mysql_error()); // seleccionar base de datos return $link; }
Si todo está correcto, no debería mostrarse ningún mensaje. Ahora vamos a crear una tabla. Para ello, añadiremos el método buildDB(), que se llamará directamente desde el método connectDB() de la clase.
public function connectDB() { $link = mysql_connect($this->host, $this->username, $this->password); // conectar al servidor MySQL if (!$link) { die('Error de conexión: ' . mysql_error()); } mysql_select_db($this->db) or die("No se puede encontrar la base de datos. " . mysql_error()); // seleccionar base de datos $this->buildDB(); // llamamos al método dentro de otro método de la misma clase return $link; } public function buildDB(){ }
Ahora, cada vez que nos conectemos, en el método buildDB() podemos comprobar si las tablas están presentes. Para ello enviamos una consulta a la base de datos:
public function buildDB(){ $sql = 'CREATE TABLE IF NOT EXISTS messages ( title VARCHAR(150), bodytext TEXT, created VARCHAR(100) )'; return mysql_query($sql); }
Vamos ahora a analizar cómo funciona esto.
Primero, escribimos la consulta SQL en una variable de tipo cadena y luego pasamos esta variable a la función mysql_query, que envía la consulta a la base de datos.
Nuestra consulta SQL comienza con el operador CREATE TABLE - crear tabla. Luego se comprueba si la tabla ya existe o no, en este caso la tabla messages.
Entre paréntesis después del nombre de la tabla vienen los campos que serán creados junto con la tabla; en nuestro caso son title, bodytext y created. Después del nombre de cada campo se especifica el tipo de dato. VARCHAR(150) es una cadena de texto de máximo 150 caracteres, TEXT es un campo de texto que permite guardar artículos completos.
Ahora, si guardas el archivo simpleCMS.php y ejecutas index.php, crearás la tabla messages.
Usaremos esta tabla en la siguiente lección. Si tienes preguntas o errores, déjalos en los comentarios.