Artículos de Diseño Gráfico y Diseño y Desarrollo Web

RSS - Sindicar Contenidos
Xhtml 1.1 Strict Válido! CSS Nivel 2 Válido!  Nivel Doble-A de Conformidad con las Directrices de Accesibilidad Web (WAI)
Descarga FireFox gratis!
\n"; } } } lecturas();

Introducción a MySQL y PHP

Autor: César A. Bernardini
Fuente: www.pcway.com.ar

Esta mañana no sabía si era posible aprender rápidamente MySQL, para fusionarlo con mis trabajos en PHP... Ahora estoy completamente seguro de que se puede.

Qué necesitaremos... Lo básico es tener en nuestro servidor web una versión 4.x.x de PHP y de MySQL nos basta con la 3.x.x.x. Si los van a instalar recomiendo que utilicen la versión de PHP 4.3.10 y de MySQL, la 4.1.10a. También es posible valerse de phpmyadmin, para realizar muchas acciones y es gracias a éste que logré aprender lo que he aprendido.

Este artículo va a orientado hacia un público que sabe lo que son las bases de datos, por lo que omitiré varios puntos referentes a éstas (los pueden deducir si no lo saben, cualquier cosa aprovechen el foro). Además se supone que la base de datos está creada y que tienen una base de datos para utilizar (puedes pedir a tu administrador los datos de la base de datos).

Supongamos que tenemos una base de datos llamada pcway; para acceder a ella necesitaremos tres datos más el host, el nombre de usuario y la contraseña de la base de datos. Siguiendo la suposición los éstos serán: localhost, cesar y password respectivamente.

Conectando a la base de datos

El primer paso que debemos realizar con php es conectarnos a la base, luego seleccionar la tabla; para después realizar lo que queramos hacer (que será crear las tablas, agregar, editar y mostrar información).

Para realizar los dos primeros pasos existen dos funciones de PHP, que hacen todo el trabajo y realmente es muy sencillo: mysql_connect y mysql_select_db. La primera se encarga de realizar la conexión necesita 3 datos, el host, usuario y contraseña devuelve un enlace hacia la conexión en caso de que haya salido todo correctamente y falso si falla (los errores son bastante intuitivos, lo cual lo hace muy fácil de arreglar. Por lo general si falla es porque uno de los 3 datos está mal, o el servidor MySQL no está funcionando en el momento). La segunda función mysql_select_db tiene un solo parámetro, el nombre de la tabla, al igual que la función anterior devuelve verdaero si sale todo bien y falso en caso contrario.

Un pequeño ejemplo, dejará todo mucho más claro:

<?php

$link = mysql_connect ('localhost', 'cesar', 'password');
mysql_select_db('pcway');

?>

Con esto, ya tenemos claro el primer paso la conexión está realizada, ahora deberemos crear las tablas que utilizaremos dentro de la base de datos 'pcway'.

Creando nuestra primera tabla

Crearemos una tabla prueba, que contendrá un id único, un mensaje, un nombre, un número y una fecha. Antes de seguir con esto, se debe aclarar, que todos los elementos de las tablas, tienen un tipo que puede ser numérico, booleano, alfanumérico entre tantos otros, una completa lista la tienen en:

http://dev.mysql.com/doc/mysql/en/column-types.html

Introduciré aquello que utilizaremos:

Ya tenemos los datos, ahora debemos saber como introduciremos todas las consultas a nuestra base de datos; una consulta? Bueno, una consulta es una pregunta que se le hace a la base de datos para que nos devuelva cierta información y realice cierta tarea. Para introducir una consulta, debemos utilizar la función mysql_query(CONSULTA). Si no te ha quedado del todo claro, espera al siguiente ejemplo y lo entenderás.

Crearemos esta primera tabla, la consulta a utilizar se estructura de la siguiente forma:

CREATE TABLE 'nombre'
(
nombre_campo tipo(tamaño) opciones_extras,
otros campos
);

Nuestra consulta, será la siguiente:

CREATE TABLE 'prueba'
(
id INT(3) unsigned NOT NULL auto_increment,
mensaje TEXT NOT NULL,
nombre VARCHAR(50) NOT NULL,
numero INT(5) default 0
fecha DATE,
PRIMARY KEY id
);

Ahora, simplemente queda introducir este código en un script php.

<?php

// Codigo para conectar a la base de datos
// Código para seleccionar la tabla

mysql_query ('CREATE TABLE...'); // Copiamos y pegamos el contenido de la consulta de arriba aquí

?>

Excelente, la base de datos con su tabla prueba está lista. Ya podemos comenzar a colocar información.

Agregar Información

Para introducir información existe una función de MySQL muy potente (que aprovecharemos en su mínima expresión en este ejemplo), ella es INSERT.

La sintaxis es la siguiente:

INSERT INTO nombre_tabla ('nombre_col1', 'nombre_col2') VALUES('valor1', 'valor2');

En nuestro ejemplo, el código php quedaría así:

<?php

// Especificamos los valores que introduciremos en la tabla.
$mensaje = 'Hola! este es un mensaje';
$usuario = 'Cesar';
$numero = 345;
$fecha = date('d/m/y');

// código para conectar
// código para seleccionar la base de datos

mysql_query('INSERT INTO prueba ('mensaje', 'usuario', 'numero', 'fecha') VALUES(''.$mensaje.'', ''.$usuario.'', ''.$numero.'', ''.$fecha.'');');

?>

Ya sabemos crear tablas y guardar información en ellas. Es hora de mostrar lo que ellas contienen.

Mostrando Información

Para este caso, utilizaremos SELECT que tiene la siguiente estructura:

SELECT columnas_a_utilizar FROM nombre_tabla {WHERE condicion}

Lo último está colocado entre llaves, porque no es obligatorio, es para crear condiciones (muy útil quizás demasiado).

En nuestro ejemplo, crearemos una consulta que mandará todos los valores a una variable que luego exprimiremos para obtener nuestros valores. Esto lo realizaremos con la función mysql_fetch_array que devuelve la primera asociación a una matrix de mysql, que le pasamos anteriormente. Veamoslo en acción:

<?php

// código para conectar y seleccionar db

// seleccionamos todo y lo mandamos a la variable resultado
$resultado = mysql_query('SELECT * FROM prueba');

while($celda = mysql_fetch_array( $resultado )) { // Mientras

echo '<p>'.$celda['nombre'].' dejó el siguiente mensaje:<br />
'.$celda['mensaje'].'.<br /><br />Dejó dicho también que le gusta el número '.$celda['numero'].', el día '.$celda['fecha'].'</p>';

}

?>

NOTA de Scour Design:

----------------------------------
Nótese que el autor ha utilizado la etiqueta <br /> en el código anterior, esta etiqueta es para webs hechas en Xhtml, si su web es en html debe cambiar esta etiqueta por <br>.
----------------------------------

Listo, y así imprimimos todos los campos de la tabla, si queremos que nos muestre únicamente aquel que tiene el ID 3, debemos agregar WHERE id=3.

NOTA de Scour Design:

----------------------------------
Para aquellos que no conozcan el lenguaje SQL, que es el lenguaje estandard de ataque a base de datos, añadiré que el autor se refiere a poner dicha sentencia WHERE a continuación de la tabla en la sentencia SELECT, esto es:

'SELECT * FROM prueba WHERE id=3'
----------------------------------

Cambiando Información

De vez en cuando, es necesario cambiar lo que se ha colocado. Pues ésto, lo realizamos con la función UPDATE; cuya estructura es la siguiente:

UPDATE nombre_tabla SET campo_a_cambiar='nuevo_valor', otro_campo_a_cambiar='su_nueva_valor' {WHERE id=$id}

Por lo general la condición es indispensable cuando se utiliza esta expresión ya que si la obviamos cambiaremos todos los valores de la tabla.

Vamos con nuestro ejemplo en PHP:

<?php

// código para conectar y seleccionar la base de datos

mysql_query('UPDATE prueba SET nombre='Pepito', mensaje='Estamos adulterando el mensaje...' WHERE id=3');

?>

Creo que no hay otra palabra más que magnífico, ya sabemos crear una tabla, guardar información, editar información y agregar también.

Como conclusión final para este artículo puedo comentarles que lo que hemos hecho es algo realmente muy sencillo y que MySQL tiene prestaciones mucho más impresionantes que estas. Quizás les interese dar una vuelta por las fuentes y aprender un poco más. Además de esto, mi aprecio es que realmente es muy útil utilizar una base de datos MySQL en tu sitio, ya que te permite administrar información de una manera confiable y no tendrás que preocuparte por los permisos que tengan tus archivos de texto :P, aunque se te suman los problemas cuando se cae la bvase de datos.

Enlaces de interés:

Scour Design - Todos los Derechos Reservados - Carlos Carmona