Curso PHP VII: Acceso a Bases de Datos (MySQL)
11th Enero 2007 | Curso PHP, Diseño Web, Programación Web
Creo que ya es hora de empezar a trabajar un poco con las Bases de Datos puesto que es una de los elementos imprescindibles para la creación de sitios totalmente dinámicos. Podremos hacer asi páginas web en las que se puedan insertar datos a través de formularios, que se podrán consultar conectándonos con el gestor que utilicemos, que en este caso será MySQL. De esa manera, si hacemos un buen diseño, no habrá que tocarlo si se quieren modificar los contenidos puesto que estos se crean y se ven con un lenguaje dinámico como PHP y un gestor de Bases de Datos como MySQL, en este caso.
Puesto que vamos a trabajar con un gestor de Bases de Datos Relacional, necesitaremos algunos conocimientos de SQL. Al principio se irán haciendo sentencias sencillas fáciles de entender por lo que quizás no es necesaria mucha base de este lenguaje. Aún asi, se puede consultar este pequeño tutorial sobre SQL que hice hace un tiempo, que aun que está enfocado a Oracle, es igualmente válido para MySQL o cualquier otro gestor relacional, excepto los tipos de datos que dependen del gestor. En cualquier caso, explicaré los pasos básicos para la creación de una tabla en MySQL y podrán verse así los tipos de datos más utilizados. Para el resto, resulta de mucha utilidad el tutorial anterior.
Asi, vamos a ver las funciones básicas de PHP para el manejo de MySQL:
- mysql_connect(HOST, USUARIO, PASSWORD): Conecta con MySQL y devuelve el enlace a dicha conexión
- mysql_select_db(BASE_DE_DATOS, ENLACE): Selecciona (para su posterior uso) la base de datos que se pasa como parámetro
- mysql_query(SENTENCIA, ENLACE): Permite lanzar una sentencia (de inserción, borrado o modificacion) sobre la base de datos que se haya seleccionado previamente, y devuelve el resultado.
- mysql_fetch_array(RESULTADO): Permite trabajar con los resultados de la ejecución de una sentencia (con la función anterior) almacenando cada fila en un vector asociativo, en un bucle.
- mysql_free_result(RESULTADO): Libera la memoria utilizada por la variable que se pasa como parámetro
- mysql_close(ENLACE): Cierra la conexión con MySQL
Pero la mejor forma de ver esto en ponerse en marcha. Crearemos primero una base de datos y en ésta una tabla, a la que introduciremos algunos datos para luego mostrarlos en una página web hecha con PHP. Para conectar con mysql desde el interfaz de comando, lo haremos a través de este comando: mysql -u root -p (si queremos conectar con el usuario root. No recomendado pero para empezar lo haremos asi). Si usas phpmyadmin o mysql-administrator para trabajar con las bases de datos, probablemente te puedas saltar este paso, puesto que son herramientas muy intuitivas. Sino, al ejecutar el comando nos pedierá el password (lo habremos creado al instalar MySQL) y se mostrará el promtp del gestor:
-
- CREATE DATABASE prueba;
-
- USE prueba;
-
- CREATE TABLE tabla
-
- (
-
- id INT PRIMARY KEY,
-
- nombre VARCHAR(100),
-
- apellidos VARCHAR(100),
-
- email VARCHAR(100)
-
- );
Primero hemos creado la base de datos y hemos conectado a ella, y luego hemos creado una tabla con un campo clave que será un número, y otros tres campos que serán cadenas de texto. Introduciremos ahora algunos datos
-
- INSERT INTO tabla VALUES (1, 'Perico', 'Palotes', 'perico@hotmail.com');
-
- INSERT INTO tabla VALUES (2, 'Don', 'Pin Pon', 'dpp@hotmail.com');
-
- INSERT INTO tabla VALUES (3, 'Espi', 'Nete', 'espinete@hotmail.com');
Ya tenemos la tabla con 3 filas. Podremos verlas desde el interfaz de mysql con la siguiente sentencia:
-
- SELECT * FROM tabla;
Es la hora de crear la página web que conectará con esta base de datos y mostrará el contenido de la tabla creada (Para salir del interfaz de MySQL ejecuta quit).
-
<?php
-
$sentencia = "SELECT * FROM tabla";
-
-
-
}
-
-
?>
Si creamos la página anterior y la visualizamos en el navegador veremos como, de forma mágica, se cargan los datos que había en la tabla de la Base de Datos de nuestro gestor.
A partir de aqui, si queremos extraer otros datos, podremos refinar la consulta SQL o bien realizar un formulario donde el usuario introduzca qué datos quiere buscar. En próximas entregas veremos como ir avanzando en este sentido.


Para comentar algo busca un icono como este al final de cada post o pincha en el comentario de otro lector.







Comentar este post (4 comentarios)
1. La Informática de Sekano&hellip | Enero 18th, 2007 a las 19:49
[...] Partiremos del ejemplo del otro dia sobre Acceso a Bases de Datos con MySQL donde se cargaban los datos de una tabla y se mostraban en una página web. Hoy los mostraremos dentro de una tabla HTML con un diseño accesible, para facilitar su lectura. [...]
2. yo | Junio 14th, 2008 a las 0:06
nada
3. Astable » Curso PHP&hellip | Mayo 19th, 2009 a las 2:45
[...] la Séptima entrega de este Curso de PHP vimos como acceder a una Base de Datos MySQL y listar el contenido de una [...]
4. Astable » Curso PHP&hellip | Mayo 19th, 2009 a las 3:45
[...] del ejemplo del otro dia sobre Acceso a Bases de Datos con MySQL donde se cargaban los datos de una tabla y se mostraban en una página web. Hoy los mostraremos [...]
Escribe aquí tu comentario
Letra pequeña que poca gente lee