Inicio

Curso PHP VII: Acceso a Bases de Datos (MySQL)

11th Enero 2007 | Curso PHP, Diseño Web, Programación Web

phpCreo 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:

MySQL:
  1. - CREATE DATABASE prueba;
  2. - USE prueba;
  3. - CREATE TABLE tabla
  4. - (
  5. - id INT PRIMARY KEY,
  6. - nombre VARCHAR(100),
  7. - apellidos VARCHAR(100),
  8. - email VARCHAR(100)
  9. - );

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

MySQL:
  1. - INSERT INTO tabla VALUES (1, 'Perico', 'Palotes', 'perico@hotmail.com');
  2. - INSERT INTO tabla VALUES (2, 'Don', 'Pin Pon', 'dpp@hotmail.com');
  3. - 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:

MySQL:
  1. - 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:
  1. <?php
  2.  $conexion = mysql_connect("localhost", "root", "mi_password");
  3.  mysql_select_db("prueba", $conexion);
  4.  $sentencia = "SELECT * FROM tabla";
  5.  $resultados = mysql_query($sentencia, $conexion);
  6.  
  7.  while ($fila = mysql_fetch_array($resultados)) {
  8.  
  9.   echo "<p><strong>Nombre</strong>: " . $fila["nombre"] . "</p>";
  10.   echo "<p><strong>Apellidos</strong>: " . $fila["apellidos"] . "</p>";
  11.   echo "<p><strong>E-mail</strong>: " . $fila["email"] . "</p>";
  12.  }
  13.  
  14.  mysql_free_result($resultados);
  15.  mysql_close($conexion);
  16. ?>

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.

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay

Comentar este post (4 comentarios)



  • 1. La Informática de Sekano&hellip  |  Enero 18th, 2007 a las 19:49 Usa el Saltamontes para subir

    [...] 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 Usa el Saltamontes para subir

    nada

  • 3. Astable » Curso PHP&hellip  |  Mayo 19th, 2009 a las 2:45 Usa el Saltamontes para subir

    [...] 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 Usa el Saltamontes para subir

    [...] 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

Required
Requerido, No se mostrará




Letra pequeña que poca gente lee

  • Por seguridad, la dirección IP de tu ordenador (38.107.191.89) se guardará con el comentario pero no será publicada para proteger tu anonimato.
  • Si escribes TODO EN MAYÚSCULAS tu comentario no se publicará. También cualquier modo de descalificación personal o mensajes incomprensibles o absurdos.
  • Algo de HTML permitido.
  • Más información sobre las Normas del Blog en los Modales Electrónicos del Sekano.
  • Contacta con Sekano si quieres incluir imágenes en tu comentario, registrar un nick para el blog o dirigirte personalmente al autor de este blog. Usa la página de contacto con Sekano.
  • Suscribir a este comentario via RSS Feed

Pack Sekano Triops
Jardín Natural, el jardín ecológico

Los Más Calenticos

Últimos Comentarios

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

Sekano Blogs, Servicios de Diseño Web

Red Sekano

Desde el Sekano Barracuda Mundo de Gea

Los Más Impactantes

Mensajes por Categorías

Calendario de Posts

Septiembre 2010
L M X J V S D
« Jul    
 12345
6789101112
13141516171819
20212223242526
27282930  

Mensajes por Meses

Asociación Ecologista Equipo Triacanthos

Páginas