Como interactuar con una base de datos MySQL usando PHP

Existe una variedad de lenguajes de script y motores de bases de datos, pero a una de las mejores alternativas en cuanto a costo y velocidad la conforman PHP y MySQL. Además de ser extremadamente rápido, utilizo este sistema de base de datos para mis sitios por estar bien documentado. Con solo pocas líneas de código PHP se pueden administrar datos guardados en una base MySQL, agregando, eliminando o actualizando campos y registros.

Para comenzar con los ejemplos de este artículo debemos crear una nueva base de datos. Esto se puede hacer de diferentes maneras, ya que existen distintos programas para administrar bases de datos, como el conocido phpMyAdmin; otra forma es desde la línea de comandos del Server haciendo un Telnet.

En este ejemplo asumo que tienes instalado y configurado phpMyAdmin adecuadamente para manejar bases y tablas. La mayoría de ISP y proveedores de hosting ofrecen este servicio ya instalado para los clientes. Siguiendo las instrucciones del PhpMyAdmin fácilmente podras crear la base que utilizaremos para los ejemplos, el nombre de la base será ejemplo.

Tabla de usuarios

Con la primera base creada pasamos a construir la tabla usuarios que estará compuesta como se muestra a continuación en la tabla:

Campo Tipo
id Entero
Autonumerico
Valor Default 0
Clave principal
nombre Varchar 50
apellido Varchar 50
dni Entero

Las propiedades de los campos se configuran en phpMyAdmin al crear la tabla. Con la base y la tabla creada adecuadamente podemos pasar a escribir código PHP.

Código PHP

A continuación crearemos cinco scripts que se encargaran de realizar las funciones básicas sobre una base de datos MySQL, estos archivos serán: conexion.php, cerrar_conexion.php, guardar.php, ver.php y actualizar.php.

Como primer paso crearemos la conexión con el MySQL, el script correspondiente sera conexión.php, el cual estará incluido utilizando la funcion include (nombre_archivo) de PHP, en todos los demás scripts del sitio que trabajen con la base de datos para establecer la conexión ahorrando líneas de código. Sin una conexión establecida no se podrá trabajar con la base de datos.

En el archivo conexión.php deben ser configuradas un par de variables correspondientes a nuestro servidor: el host, usuario y password para acceder al MySQL, además indicar que base se utilizara en la conexión.

Entonces podemos abrir el bloc de notas, escribir las siguientes líneas de código y guardarlas con el nombre conexión.php:

Archivo conexion.php
<?
$dbhost="localhost";  // host del MySQL (generalmente localhost)
$dbusuario="agustin"; // aqui debes ingresar el nombre de usuario
                      // para acceder a la base
$dbpassword="mipass"; // password de acceso para el usuario de la
                      // linea anterior
$db="ejemplo";        // Seleccionamos la base con la cual trabajar
$conexion = mysql_connect($dbhost, $dbusuario, $dbpassword);
mysql_select_db($db, $conexion);
?>

Con este archivo creado podemos empezar a trabajar con la base desde nuestros siguientes scripts.

Seria correcto cerrar la conexión abierta al terminar de trabajar con la base, para ello creamos un nuevo archivo con solamente una línea de código:

Archivo cerrar_conexion.php
<? mysql_close($conexion); ?>

Esta línea cierra la conexión con el motor MySQL abierta en el archivo conexion.php, este archivo será incluido en el final de todos los scripts siguientes.

Es el turno ahora del archivo guardar.php que se encargara de insertar registros en la base mostrando un formulario mediante el cual el usuario ingresara los nuevos datos. Entonces creamos un nuevo documento de texto con el siguiente contenido:

Archivo guardar.php
<?
include "conexion.php";
if (!isset($accion)){
        echo"
        <html>
        <head><title>Guardar datos en la base</title></head>
        <body>
<h3>Guardar datos en la base</h3>
<form name="form1" method="post"
    action="guardar.php?accion=guardar">
  <p>Nombre:<br>
    <input type="text" name="nombre">
  </p>
  <p>Apellido:<br>
    <input type="text" name="apellido">
  </p>
  <p>DNI:<br>
    <input type="text" name="dni">
  </p>
  <p>
    <input type="submit" name="Submit" value="Guardar Datos">
  </p>
</form>
</body>
</html>";
}elseif($accion=="guardar"){
  include"conexion.php";
  $result=mysql_query("INSERT INTO usuarios  (id,nombre, apellido, dni)
    VALUES ('',$nombre,$apellido,$dni) ",$conexion);
  echo" <html>
    <head></head>
    <body>
    <h3>Los datos han sido guardados</h3>
    </body>
    </html>";
}
include "cerrar_conexion.php";
?>

Claro está que se omitieron muchas líneas de código destinadas a chequear que los datos ingresados por el usuario fueron correctos y solamente nos limitamos a guardar los datos en la base.

El script que escribiremos a continuación toma los datos de la base y mediante una iteración forma una tabla en la cual se representara la lista de datos ordenada por el campo nombre.

Archivo ver.php
<?
include "conexion.php";
$result=mysql_query("SELECT * FROM usuarios ORDER BY nombre",
  $conexion);
echo"<table width=300>
<tr>
<td><b>Nombre</b></td><td><b>Apellido</b></td><td><b>DNI</b></td>
</tr>";
while($row=mysql_fetch_row($result)){
  echo"<tr>
    <td>$row[1]</td><td>$row[2]</td><td>$row[3]
      <a href="actualizar.php?id=$row[0]">Actualizar</a></td>
    </tr>";
}
echo"</table>";
include "cerrar_conexion.php";
?>

Con los archivos creados hasta ahora podemos guardar datos en la base y ver los registros guardados. Al formarse la tabla con los resultados obtenidos de la base, notaremos que al lado de cada registro aparece un link llamado Actualizar, el cual hace referencia al archivo que crearemos a continuación. El link pasa como parámetro la variable id que contiene el número correspondiente al campo autonumérico del registro que actualizaremos.

El archivo siguiente muestra un formulario con los datos que actualmente contiene la base en el lugar indicado por la variable id, una vez llenado el formulario, el script actualiza la tabla de la base de datos con la nueva información ingresada por el usuario.

Archivo actualizar.php
<?
include "conexion.php";

if (!isset($accion)){
  $result=mysql_query("SELECT * FROM usuarios WHERE id=$id",
    $conexion);
  $row=mysql_fetch_row($result);
  echo"<html>
  <head><title>Actualizar datos de la base</title></head>
  <body>
  <form action="actualizar.php?accion=guardar" method="POST">
  Nombre:<br>
  <input type="text" value="$row[1]" name="nombre"><br>
  Apellido:<br>
  <input type="text" value="$row[2]" name="apellido"><br>
  DNI:<br>
  <input type="text" value="$row[3]" name="dni"><br>
  <input type="hidden" name="id" value="$row[0]">
  <input type="submit" value="Guardar">
  </form>
  </body>
  </html>";
}elseif($accion==guardar){
  $result=mysql_query("UPDATE usuarios SET nombre=$nombre,
    apellido=$apellido, dni=$dni WHERE id = $id",$conexion);
  echo"
  <html>
  <body>
  <h3>Los registros han sido actualizados</h3>
  </body>
  </html>";
}
include "cerrar_conexion.php";
?>

Estos scripts muestran como rápidamente se puede administrar una base de datos on-line. He intentado en este artículo mostrar la manera más sencilla de hacerlo. Se puede agregar en cada archivo funciones para chequear que los datos ingresados por el usuario son correctos, además de mostrar diferentes errores en cada caso, pero eso queda en manos de ustedes. El PHP trae incorporadas funciones para interactuar con distintos tipos de bases de datos, como Oracle, SQL Server, y más. Si alguien tiene críticas, o cualquier tipo de comentarios sobre este articulo, le agradezco que me los haga llegar.

COMPARTE ESTE ARTÍCULO

ENVIAR A UN AMIGO
COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN GOOGLE +
HAY 1 COMENTARIOS
  • Anónimo dijo:

    CREO QUE HABLO POR TODOS SI LES DIGO QUE EL CODIGO "NO FUNCIONA"... ME REGISTRE ESPECIALMENTE PARA DECIRLO

Conéctate o Regístrate para dejar tu comentario.