Internet: tutorial de lenguaje PHP

 Volver al Indice – Internet y Tutoriales de Diseño Web

Internet: tutorial de lenguaje PHP

Por Alejandro Franco – contáctenos

Introducción

PHP es una tecnología del lado del servidor, que funciona embebida (es decir, incrustada) dentro del código HTML de una pagina, dándole mayor dinamismo a la misma, con acceso a bases de datos, creación de foros, libros de visita, rotación de banners, etc. Su sintaxis es heredada de C/Java y posee gran cantidad de funciones que permiten realizar todas las acciones que soporta el PHP.

Esta tecnología inició como un pasatiempo de Rasmus Lerdorf pero hoy en día, gracias a ser gratis, cuenta con miles de adeptos y actualizaciones muy constantes. Muchas empresas se han fijado en el potencial de PHP, y han dado su apoyo a esta, como es el caso de Zend, uno de los principales contribuyentes para el lanzamiento de la versión 4 de este lenguaje.

La forma mas facil de averiguar cuando una pagina es o no PHP, es verificando su extensión, que puede ser generalmente .php, .phtml, .php3, .php4

PHP está siendo explotado con gran provecho alrededor de toda la red… ¿querrás perderte este tren?

Si no es así, continua con este tutorial donde descubrirás cómo instalar el soporte PHP y mySQL en tu Windows, usando el servidor Apache. Luego conocerás los fundamentos del lenguaje y para terminar aplicaremos lo aprendido con ejemplos de utilidad.

Instalación

Este es un pequeño manual de instrucción para instalar y configurar un pequeño servidor Apache con soporte para PHP4 y Bases de Datos MySQL bajo el sistema operativo Windows 32. En ningún momento se pretende ofrecer un completo manual de configuración de un Servidor Seguro Web, mi intención es sólo ofrecer a los usuarios que se inician en la programación de webs dinámicas bajo estos sistemas, una guía para que no pasen por lo que pasé yo tratando de empezar en este campo y cuando aún no existía suficiente material bibliográfico.

Bajando

Lo primero que necesitamos hacer es bajarnos las aplicaciones del internet desde sus servidores originales.

  • Apache 1.3.14
  • PHP 4
  • MySQL 3.23

Estas versiones son lo suficientemente estables para poder trabajar, así que no te preocupes por las nuevas versiones de estos programas, luego de que estés más experto en el manejo de estos programas podrás darte el lujo de actualizarte con las nuevas versiones.

Instalando…

APACHE
La instalación del programa Apache es muy simple ya que trae integrado un programa instalador, por lo que te sugiero que no modifiques los valores que trae por defecto durante la instalación. Si lo haz hecho bien el programa debió haber quedado en C:\Archivos de Programas\Apache\GroupApache y con la opción “TIPICAL”.

PHP 4
La instalación del PHP es más simple aún, debes descomprimir el archivo php-4.0.4pl1-Win32.zip en la carpeta C:php, luego tomas el archivo php.ini-dist y lo renombre a php.ini y eso es todo por ahora.

mySQL
Para la instalación del MySQL deberás descomprimir el archivo mysql-3.23.36-win.zip en una carpeta temporal, por ejemplo: C:temp, luego ejecutas el programa setup.exe y sigues las instrucciones de instalación que trae por defecto. Si lo haz hecho bien el programa debió haber quedado en C:mysql y con la opción “TIPICAL”.

Configurando…

APACHE
Aquí se pone buena la cosa, busca el archivo httpd.conf que está en la siguiente dirección:

C:Archivos de Programas\Apache\GroupApache\Confhttpd.conf, ábrelo con un editor de texto como el notepad del Windows para poder editarlo.

Busca dentro de este archivo la opción #ServerName new.host.name y sustituyes por esto: ServerName http://

Luego buscas la opción DocumentRoot “C:/Archivos de Programas/Apache Group/Apache/htdocs” y la sustituyes por esto DocumentRoot “C:/mis webs”

De igual forma buscas la opción <Directory “C:/Archivos de Programas/Apache Group/Apache/htdocs” y sustituyes por esto <Directory “C:/mis webs”

Es de hacer notar que estas dos últimas opciones se refieren a la localización de la carpeta que contendrá las webs a ser “servidas” por vía http. Así que usted puede cambiar el nombre y la ubicación de la carpeta que contendrá sus webs.

Busca ahora la opción ScriptAlias /cgi-bin/ “C:/Archivos de Programas/Apache Group/Apache/cgi-bin/” y debajo de esta le agrega la siguiente línea: ScriptAlias /php/ “C:/php/” fíjese que aquí se le dice al Apache donde encontrará al interprete de PHP para CGI.

Busque ahora las siguientes líneas:

#AddType application/x-httpd-php .php
#AddType application/x-httpd-php-source .phps y sustitúyalas por las siguientes:

AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .phtml
AddType application/x-httpd-php-source .phps

Note usted que en este punto le indicamos al Apache cuales son las extensiones que deberá interpretar como programas de PHP, en este caso usted podrá usar las extensiones .php, .php3, .phtml y phps, este último es para ofrecer el código fuente de un script sin interpretarlo como tal.

Luego localiza la sección de # Format: Action handler-name /cgi-script/location y debajo de esa línea escribe la siguiente línea: Action application/x-httpd-php “/php/php.exe”, note que en este punto le decimos al Apache dónde se encuentra el archivo ejecutable del intérprete PHP.

Y por último buscamos la línea DirectoryIndex index.html y la sustituimos por esta otra línea:

DirectoryIndex index.html index.htm index.php index.php3 index.phtml

Note usted que en esta línea le decimos al Apache cuales son las extensiones que debe autointerpretar al abrir una carpeta web.

PHP

Abrimos con un editor de texto el archivo php.ini y verificamos que tenga la siguiente línea:

extension_dir = ./ aquí le decimos al PHP dónde se encuentran ubicadas las extensiones de librerías .dll en este caso vemos que deben encontrarse en el directorio raíz del PHP.

Luego si lo deseamos buscamos la línea ;extension=php_gd.dll y le quitamos el ; que tiene al comienzo, así habilitaremos la librería de manipulación de gráficos dinámicos que ofrece una prestaciones muy interesantes. Sólo resta ubicar el archivo php_gd.dll y copiarlo al directorio raíz del PHP.

Y por último hacemos una copia del archivo php.ini dentro del directorio Windows que por lo general es C:Windows

MySQL

A este programa no hay mucho que configurarle, sólo debemos asignarnos una clave al usuario root que hará las veces de administrador de las Bases de Datos, y que por defecto en la instalación el usuario root viene sin clave y con todos los permisos de ejecución.

Así que nos vamos al modo DOS: y hacemos lo siguiente:

C:>mysql>bin>mysqld.exe

C:>mysql>bin>mysqladmin -u root -pxxxxxx

Sustituyes las xxxxxx por la clave que tu quieras y listo, ya les asignaste una clave al usuario root. Recuerda que el root tiene todos los permisos de ejecución así que ten cuidado de lo que puedas alterar.

Probando

Ya llegamos a la parte divertida, reiniciamos la PC, automáticamente el Apache se ejecutará con el Windows. Abre tu navegador puede ser el Internet Explorer y escribes el la barra de direcciones lo siguiente: http://www.datacraft.com.ar en este punto debería abrirse el servidor web ofreciéndote un listado de los archivos y carpetas que hay en tu directorio web, en nuestro caso C:mis webs. Ya con esto vemos que el apache funciona.

Ahora creamos un archivo que llamaremos info.php con el siguiente script de php:

<?php echo phpinfo()?>

y lo guardamos dentro de nuestra carpeta web C:mis webs, ahora desde nuestro navegador escribimos la siguiente dirección http://www.datacraft.com.ar/info.php y deberías ver una web con una gran contenido de información de las variables de proceso del PHP dentro de tu PC. Esto nos demuestra que el Apache es capaz de interpretar PHP y que éste está funcionando.

Lo básico

PHP no es más que códigos de programa incluidos dentro de una página Web y que se ejecuta desde el servidor el cual deberá aportar soporte para interpretar este lenguaje, enviando así al navegador el resultado del programa procesado. Expliquemos estos con este ejemplo:

Dentro de una página Web hecha con HTML le incluimos el siguiente SCRIPT:

<?php
echo “Bienvenidos al mundo del PHP”;
?>

Esto enviará como resultado al navegador lo siguiente:

Bienvenidos al mundo del PHP

Lo increíble del esto es que jamás mostrará el código del programa… sólo enviará la respuesta del programa después de procesada.

Creo que ya comprendes entonces que es lo que hace PHP, si hacemos volar la imaginación te darás cuenta la amplia cantidad de aplicaciones que le podemos dar a este poder… manipular fechas y tiempos, manipular bases de datos, realizar cálculos matemáticos, personalizar las presentaciones según lo deseemos, etc.

Por lo pronto, comencemos con la sintaxis de este lenguaje y para ello analicemos el siguiente SCRIPT:

<?php
$MYVAR = “1234”;
$myvar = “4321”;

echo $MYVAR. “<br>”;
echo $myvar.”<br>”;
?>

Esto dará como resultado:

1234
4321

Lo primero que vemos en este SCRIPT es que las instrucciones de PHP comienzan con <?php y terminan con?> por lo que incluso se pueden crear varios conjuntos de instrucciones dentro de una misma pagina Web. Lo siguiente que observamos es que las variables comienzan con el símbolo $ y que se diferencian las mayúsculas de las minúsculas, es decir, son sensible case. Las etiquetas <BR> están concatenadas por un punto “.” con lo que el navegador hará una salto de línea, y por último notarás que todas las líneas de comandos terminan con punto y coma “;” , esto es muy importante de no olvidar.

Pero veamos ahora un ejemplo más complejo aún:

<?php
$SUM1 = 12;
$SUM2 = 4;
$TOT = $SUM1 + $SUM2;
echo “La sumatoria de ” . $SUM1. ” más ” .$SUM2. ” es igual a ” .$TOT”;
// Este programa realiza la suma de 12 + 4 y lo presenta en pantalla
?>

Creo que esto no necesita mucha explicación, como es fácil ver lo que este pequeño programa hace es: declarar el contenido de la primera variable, declarar el contenido de la segunda variable, realizar la suma de ambas variables y asignarla a una nueva variable, y por último realiza la salida del resultado pero incluyendo texto para hacer más fácil la interpretación del mismo. Veremos como resultado en pantalla:

La sumatoria de 12 más 4 es igual a 16

Notemos que para poder hacer la mezcla de variables con texto hemos recurrido a la concatenación y esto se hace interponiendo un punto “.”. Podemos observar también que hay un comentario dentro del SCRIPT, este comentario no afectará en nada al programa pero es importante acostumbrar usarlos para mantener organizados nuestro programa y no confundirnos en un programa más extenso.

Existen varias formas de incluir comentarios y estas son:

// Esto da comienzo a una línea con comentarios.
// Esto es un comentario

/* Esto da comienzo a un grupo de líneas de comentario, se cierra con */
/* Esto es un comentario
que incluye varias líneas.
Es por eso que uso este tipo de inclusión. */

Variables

En PHP no es necesario declarar la variable, es decir, no es necesario decirle al programa si una variable es una cadena o un número entero, ya que PHP se encargará de definirla por sí mismo.

Por ejemplo:

<?php
$cadena = “Hola Mundo”;
$numero = 100;
$decimal = 8.5;
?>

Como puedes observar las tres variables fueron simplemente definidas con un valor y no necesariamente con el tipo. Tanto “Hola Mundo” que es una cadena, como 100 que es un número y 8.5 que es un decimal, son aceptadas por el PHP e interpretadas en la ejecución del script.

Ahora veamos el ámbito de las variables. En muchos tutoriales nos confunden mucho acerca de este concepto, pero el ámbito de una variable, no es más que el lugar que tiene en un script. Cuando son de ámbito global, la variable ocupa un lugar en todas las partes del script, y puede ser utilizada en cualquier momento; pero si es de ámbito local, quiere decir, que sólo existirá y operará dentro de una función y no podrá ser accedida por el script en general, ni por las otras funciones.

Para declarar a una variable, de ámbito global, podemos utilizar la palabra clave global, aunque simplemente con definirla fuera de cualquier función ya se le está dando ese ámbito. Veamos un ejemplo, para aclarar este concepto:

<?
global $variable; //la variable ya es de ámbito global
$numero = 1; //la variable es de ámbito global, aunque no se ha declarado con global

function multiplicar(){
$multiplicacion = ($numero * 50); //multiplicacion solo existe en la funcion multiplicar()
echo $multiplicacion;
}

?>

En el anterior ejemplo se observa claramente cuándo una variable es de ámbito global y local. La variable $numero puede ser accedida dentro y fuera de cualquier función, tal como lo hace la función multiplicar() que se encarga de multiplicar dicho número ($numero) por 50. Pero lo más destacable de esa función es que fácilmente puede llamar a la variable $numero, en vista de que ésta es de ámbito global, pero realiza la operación dentro de la variable $multiplicacion, que sólo existe durante la ejecución de multiplicar(), porque fue utilizado y definida en esa función, y no globalmente. De ahí se puede resumir, que una variable es de ámbito global cuando se declara fuera de cualquier función, o con la palabra global, y que es de ámbito local si se declara y utiliza dentro de alguna función.

Para terminar con el tema de las variables, podemos tratar un poco sobre los arrays, o vectores, que son un tipo de variables especiales, que pueden contener muchos elementos al tiempo, generalmente relacionados entre si.

<?php
$animales = array(); //con array() se declara que la variable es un vector
$animales[0] = “Gato”;
$animales[1] = “Perro”;
$animales[2] = “Elefante”;
?>

Como ves, la variable $animales, es declarado al inicio con new Array(), lo que permite incluir diferentes elementos dentro de ella.
Cada uno de esos elementos se debe crear utilizando el nombre del array seguido por un número entre corchetes, el cual definirá el elemento en sí: $animales es un array, pero $animales[0], es un elemento del array, y su valor es la cadena Gato.

Los arrays son muy útiles cuando, como en nuestro ejemplo, en lugar de crear variables distintas para cada elemento, utilizamos uno en común que los incluya a todos. De este modo si por ejemplo queremos mostrar un listado de animales, podemos recorrer el array $animales, en lugar de crear variables como $gato, $perro, $jirafa, etc

Operadores

Los operadores son símbolos especiales que se utilizan para realizar tanto operaciones matemáticas, como de comparación. Veamos un listado de los más utilizados en PHP y un ejemplo general.

+ Suma varios números 5 + 4 = 9

– Resta varios números 5 – 4 = 1

* Realiza una multiplicación 3 * 3 = 9

/ Realiza una división 10/2 = 5

% Devuelve el residuo de una división 10 % 3 = 1

++ Suma 1 $v++ (Agrega 1 a $v)

— Resta 1 $v– (Resta 1 a $v)

== Devuelve true si la condición de igualdad se cumple 2 == 2 (Verdadero)

!= Devuelve true sin la condición de igualdad no se cumple 2 !== 2 (Falso)

< Devuelve true si un número es menor que el otro 2 < 5 (Verdadero)

> Devuelve true si un número es mayor que el otro 6 > 4 (Verdadero)

<= Devuelve true si un número es menor o igual que otro 2 <= 5 (Verdadero)

>= Devuelve true si un número es mayor o igual que otro 6 >= 4 (Verdadero)

Por ahora veremos un ejemplo práctico de los operadores matemáticos, más adelante, en las estructuras de control, se aplicarán los operadores lógicos.

<?php
$a = 5;
$b = 10;

$suma = ($a + $b); //$suma vale 15
$resta = ($b – $a); //$resta vale 5
$multiplicacion = ($a * $b); //$multiplicacion vale 50
$division = ($b / $a); //$division vale 2
$residuo = ($b % $a); //$residuo vale 0
?>

Estructuras de control

Gracias a las estructuras de control, podemos realizar comprobaciones y ejecutar códigos especiales para hacer de nuestros scripts algo verdaderamente útil. Dentro de las estructuras de control encontramos las funciones de condición y los bucles. Estas son las que trataremos.

Condicionales
Los condicionales, o bifurcaciones, son estructuras que permiten llevar a cabo determinadas acciones, de acuerdo a la validez de una sentencia. Al igual que en la mayor parte de los lenguajes, en PHP se utilizan el if…else y el switch.

<?php
$a = 5;
$b = 2;

if($a == $b){
echo “Por estos dias 5 es igual a 2”;
}
else{
echo “Como era de esperarse 5 no es igual a 2”;
}
?>

La instrucción if verifica la validez de la sentencia, en este caso, $a == $b, como mencionamos anteriormente, el operador == devuelve verdadero si $a es igual a $b, entonces, si es ese caso, escribimos en pantalla la cadena Por estos dias 5 es igual a 2.
De lo contrario (else), es decir, si $a no es igual a $b, devolvemos la cadena Como era de esperarse 5 no es igual a 2.

Para resumir podemos definir la instrucción if…else como:

<?php
if(sentencia){
acciones que se ejecutan si la sentencia es verdadera
}
else{
acciones que se ejecutan si la sentencia es falsa
}
?>

El switch es una estructura que no se utiliza frecuentemente, por lo que veremos cómo se puede ampliar el if…else de forma que soporte más de dos caminos.

<?php
$a = 5;
$b = 2;

if($a == $b){
echo “5 es igual a 2”;
}
else if($a < $b){
echo “5 es menor que 2”;
}
else if($a > $b){
echo “5 es mayor que 2”;
}
else{
echo “5 no es igual a 2”;
}

?>

Con lo anterior hemos expandido el if…else a tal punto que ahora no sólo valida que $a sea igual que $b, sino también si es mayor o menor. Todo esto con else if, pero al final, con el else normal, podemos devolver algo, en caso de que ninguna de todas las condiciones se cumplan.

Bucles

Lo último que trataremos sobre las estructuras de control son los bucles. Un bucle es una instrucción que ejecuta repetidamente una acción, hasta que se cumple determinada condición. Existen dos tipos de bucles en PHP, los bucles for y los while

El bucle while es menos complejo que el for, pero aún así permite ejecutar funciones interesantes.

<?php
$a = 5;
while($a < 7){
echo “a vale $a en este momento.n<br>”;
$a++;
}
?>

El bucle while, en este caso, se ejecuta mientras $a (que inicia con un valor de 5), sea menor que 7 y mientras se ejecuta se imprime una línea que muestra un texto y anuncia el valor actual de dicha variable…. pero por qué es un bucle? Porque al final, y haciendo uso del operador de sumatoria ++, hacemos que a aumente en 1. De este modo, en cada ejecución del bucle a va a valer 1 más, hasta llegar al momento en que su valor sea 7, ahí deja de ejecutarse el bucle.

Para ver cómo se ejecutaría la misma acción, utilizando el for, veamos un ejemplo.

<?php
for($a=5; $a < 7; $a++){
echo “a vale $a en este momento.n<br>”;
}
?>

Eso es todo. La única diferencia es que en la misma sentencia del for se declara la variable y su valor, luego la condición y finalmente la modificación que se realiza a la variable, en este caso se aumenta en 1.

Funciones

Para terminar esta introducción al PHP, veremos cómo se utilizan y funcionan las funciones, tanto las tradicionales, como las recursivas, que devuelven siempre algún valor.

Las funciones en PHP pueden contener o no parámetros, lo que determina si son o no recursivas. Si se la pasan parámetros y estos permiten devolver algún valor, se dice que la función es recursiva, de lo contrario será una función tradicional.
En general, todas las funciones sirven para evitar escribir códigos repetitivos durante la ejecución del script; en cambio, simplemente se llama a una función.

Antes de presentar un ejemplo para mostrar los dos tipos de funciones, hay que tener en cuenta que una función se establece con la palabra clave function, y sus instrucciones se ejecutan entre llaves, al igual que en las estructuras de control.

<?php
function sumaRecursiva($a, $b){
$suma = $a + $b;
return $suma;
}

function dosmasdos(){
$sumatoria = sumaRecursiva(2,2);
echo $sumatoria;
}

?>

Ahí está. A la función suma Recursiva se le deben pasar dos parámetros y dentro de dicha función se realiza la suma de los dos. Luego lo devuelve con la palabra clave return.
Finalmente existe la función dosmasdos(), que declara una variable local con el resultado que devuelve sumaRecursiva, si los parámetros son 2 y 2. De este modo, sumaRecursiva retorna la suma de dos más dos que es 4, y dosmasdos(), simplemente lo imprime en pantalla.

Ejemplos útiles

Algunos ejemplos útiles que permitirán sacar más provecho al PHP:

Funciones de Cadena

PHP provee de muchas funciones interesantes para trabajar con cadenas, veremos solo algunas:

strlen – Devuelve la longitud de una cadena (numero de caracteres)
explode – Parte una cadena de acuerdo a un carácter separador, y devuelve un vector con dichas divisiones.
chop – Elimina los espacios finales de una cadena, así como sus saltos de línea
strpos – Busca una cadena dentro de otra y devuelve su posición.
str_replace – Reemplaza una cadena por otra.

<?php
$cadena = “hola”;
$otracadena = “hola-mundo”;

$longitud = str_len($cadena); //devuelve 4

$partes = explode(“-“,$otracadena); //genera el array $partes con $partes[0]=”hola” y $partes[1]=”mundo”;

$chop = chop($cadena.”n”); //agregamos un n para probar, pero chop lo elimina

$reemplaza = str_replace(“-“,” “,$otracadena); //$reemplaza contiene Hola Mundo. Notese que cambiamos el – por un espacio

?>

Leyendo un archivo

Existen múltiples maneras de leer archivos utilizando PHP, pero vamos a usar una que es muy práctica para el entendimiento del lenguaje, ya que además de ver algunas funciones adicionales, se utiliza un bucle para leer cada línea, lo que desmiente el temor que se tiene por la dificultad de manejar estas estructuras.
Para este ejemplo supondremos que el archivo a leer es archivo.txt, y que tendrá algún contenido para mostrar, ya que eso es lo que nos interesa.

<?
$archivo = file(“archivo.txt”);
$lineas = count($archivo);

for($i=0; $i < $lineas; $i++){
echo $archivo[$i];
}
?>

Existen otras formas de leer archivos, como ya mencionamos más arriba, pero esta es una de las más sencillas.
Lo primero que hacemos es declarar la variable $archivo que genera un array con cada una de las líneas del archivo (por medio de la función file()).
Luego $lineas hace uso de la función count(), que cuenta el número de elementos de un array, en este caso, el array que se generó con las líneas del archivo. De ahí deducimos, que el número de elementos del array es el número de líneas del archivo.

Finalmente, se ejecuta un bucle hasta que se llegue al final del archivo (total de número de líneas) y por cada iteración se escribe en pantalla el contenido de la línea que se está leyendo.
Como ves, es una forma muy sencilla y útil de leer archivos.

PHP y MySQL

mySQL es uno de los sistemas de bases de datos más populares en el mercado, y PHP se integra a la perfección con él, de tal modo, que la mayor parte de los hosts incluyen esta dupla.
Para la creación de tablas y bases se debe acceder al shell del mysql, o usar un administrador vía web como el phpMyAdmin que puede ser descargado gratuitamente desde el web.
Para esta información contacta con tu hosting. Aquí sólo veremos cómo conectarnos a la base de datos y tomar los datos de una tabla hasta terminar los registros.

<?php

function conectar($servidor, $usuario, $password, $base_datos){
if (!($link=mysql_connect($servidor,$usuario,$password))){
exit();
}
if(!(mysql_select_db($base_datos,$link))){
exit();
}
return $link;
}

$conexion = conectar(“”,”usuariomysql”,”passmysql”,”basededatos”);
$sql = mysql_query(“select nombre, email from amigos order by nombre”,$conexion);

while($row = mysql_fetch_array($sql)){
$nombre = $row[“nombre”];
$email = $row[“email”];
echo “<a href=’mailto:$email’><b>$nombre</b></a>n<br>”;
}
mysql_free_result($sql);
mysql_close($conexion);
?>

La linea resaltada contiene los datos de acceso a mysql. Debes consultar eso con tu hosting, son simplemente el nombre de usuario, password y tu base de datos. El servidor por lo general es www.datacraft.com.ar, o lo dejas en blanco.

Entrando en el código en sí, primero vemos una función que se conecta y selecciona la base de datos (conectar()). Luego la accedemos en una variable ($conexion).

La variable $sql contiene la sentencia sql a ejecutar. Para procesarla, se hace uso de la función del mysql, mysql_query(sentencia, id_conexion). En este caso suponemos que hay una tabla llamada amigos que podría contener a nuestros contactos, y tomamos de ella el nombre y el email (filas).

Luego se ejecuta el bucle while que se ejecuta hasta llegar al final de los registros, y asignamos, durante la iteración, dos variables: $nombre que contiene la fila nombre del registro que se está mostrando, lo mismo que $email. Luego damos una salida HTML tradicional con un enlace al email y el nombre del contacto.

Liberamos la memoria con mysql_free_result() y cerramos la conexión.

Con mysql se pueden hacer cosas más complejas, pero aquí sólo tratamos de introducir al PHP, y mysql porque este es el caso.