PHP: imprescindible para crear páginas web de modo profesional
Y ahora tambien aprende a programar en C++ con Aprende Web C++
y entérate de las novedades o deja un comentario.
última modificación: 13-07-2018.
Visitas este mes: 144
Visitas el mes pasado: 363
Mi agradecimiento a los siguientes sitios en los que me he basado para la elaboración de este manual.:
Si este sitio te parece interesante puedes contribuir con una pequeña aportación.
En el tema anterior vimos cómo hacer una base de datos con el programa phpMyAdmin. Sin embargo lo realmente interesante es poder ver en una página web los datos guardados en estas bases.
MySQL permite no sólo ver los datos guardados mediante phpMyAdmin, sino también introducir nuevos datos o modificar los existentes. La conexión entre la base de datos y la página se realiza de forma automática, de manera que al insertar, cambiar o borrar cualquier dato en la base, se cambia automáticamente en la página y viceversa.
No sólo podemos guardar datos desde la web, sino que podemos incluso crear una nueva base de datos MySQL, insertar las tablas, y luego los datos en esas tablas, es decir, podemos prescindir de phpMyAdmin para crear la base de datos, y crearla completamente desde la página web.
Para ello MySQL dispone de un lenguaje de programación específico, el cual se inserta dentro del lenguaje php. Este lenguaje es bastante fácil, ya que no tiene ni variables propias (sí podemos usar las de php), ni estructuras. Simplemente consiste en decir a la máquina lo que queremos hacer (buscar, insertar, borrar, etc.); aunque la forma de decirselo tiene también su sintaxis. Veremos todo ello más adelante.
Lo primero que debemos hacer, para trabajar con una base de datos desde nuestra página, es conectar con MySQL, para ello en principio debemos saber los datos que nos permitan localizar y conectar con MySQL, estos son:
Para tener nuestra página en la web, el servidor debe proporcionarnos estos datos, los cuales, está claro que serán distintos que en en servidor local, por lo que es conveniente guardarlos en variables para, antes de subir la página, cambiarlos.
<?php $servidor = "localhost"; $usuario = "root"; $contrasena = ""; ?>
Si tenemos varias páginas conectadas a la base de datos, para no tener que cambiarlos en todos, podemos guardarlos como variables de sesión.
Ahora ya podemos conectar con MySQL, para ello utilizaremos la siguiente función:
$db=mysql_connect($servidor,$usuario,$contrasena);
Si trabajamos en local, y lo que estamos haciendo son sólo pruebas, podemos poner también;
$db=mysql_connect("localhost","root","");
Como parámetros debemos pasar el servidor, el usuario y la contraseña, en este orden.
El funcionamiento es parecido a manejar archivos, es decir, una vez abierta la conexion, la guardamos en una variable, (en este caso $db), esta es la referencia, y funciona igual que el manejador para los archivos.
Por lo tanto cuando acabemos de manipular los datos de la base, debemos cerrar la conexion, esto se hara mediante la función:
mysql_close($db);
Donde la variable $db es la variable de referencia que hemos puesto al abrir la conexión.
Una vez conectado a MySQL, el siguiente paso es indicarle la base de datos con la que queremos conectar, ya que dentro de un mismo usuario, éste puede tener varias bases de datos, por lo que una vez conectados, usaremos la siguiente función:
mysql_select_db("nombre_base_datos",$db);
Como primer argumento de la función se pone el nombre de la base de datos, y como segundo ponemos la referencia.
Por lo que para conectar con la base de datos "literatura", creada en el tema anterior, escribiremos lo siguiente;
<?php $servidor = "localhost"; $usuario = "root"; $contrasena = ""; $db=mysql_connect($servidor,$usuario,$contrasena); mysql_select_db("literatura",$db); mysql_close($db) ?>
Hasta aquí hemos visto cómo trabajar con la base de datos en nuestro ordenador (servidor local), sin embargo cuando pasamos nuestra web al servidor remoto, querremos tener también esta base de datos, y poder utilizarla en la web. indicamos aquí como hacerlo.
La mayoría de servidores web con PHP nos permiten crear una base de datos en el mismo servidor en que tenemos alojado el sitio. Normalmente tenemos que ir al panel de control que nos proporciona el servidor y buscar la opción de crear una base de datos. Al crearla el servidor nos proporcionará las claves (datos de conexión). También suelen tener la opción de utilizar phpMyAdmin con la base de datos.
Si hemos creado la base de datos en el servidor local y queremos pasarlo al servidor web podemos utilizar las opciones exportar e importar de phpMyAdmin. Primero exportamos la base (o las tablas) a nuestro ordenador en un archivo, y después la importamos al servidor desde ese archivo.
Como los datos de conexion son distintos en local y en web, debemos poner distintos datos en un sitio y en otro. Al subir la página debemos tener esto en cuenta. Podemos solucionar esto mediante una estructura condicional que detecte el nombre del servidor. Según el servidor que usemos tendremos unos datos u otros. El código será como éste:
<?php $modo=$_SERVER['HTTP_HOST']; //localizamos el servidor if ($modo=="localhost") { //datos en servidor local $servidor="localhost"; $usuario="root"; $contrasena=""; $base="nombre_base"; } else { //datos en servidor web $servidor="nombre_servidor_web"; $usuario="nombre_usuario_web"; $contrasena="contraseña_em_web"; $base="nombre_base_web"; } ?>
Mediante la variable $_SERVER['HTTP_HOST'] obtenemos el nombre del servidor. Si trabajamos con el servidor local su valor será "localhost" por lo que mediante una estructura condicional podemos distinguir si estamos en el servidor local o en el remoto. De este modo podemos usar la misma página en los dos.
Para mayor comodidad podemos guardar este código en un archivo (por ej.:conexion.php) y incluirlo en la página antes de realizar cualquier operación con bases de datos, mediante el código: include("conexion.php");.
Una vez que hemos conectado con la base de datos, ya podemos trabajar con ella. Cambiar, buscar, añadir, borrar, o cualquier otra operación que queramos hacer con la base de datos, debemos hacerla con la base de datos abierta. Además debemos escribirlo en lenguaje MySQL, el cual debemos mandarlo al programa MySQL para que lo ejecute.
Para ello en primer lugar escribiremos el lenguaje MySQL y se guarda en una variable. Siguiendo el ejemplo anterior, podriamos escribir:
$sql="select * from autores";
En este ejemplo el código MySQL es "select * from autores". Este código seleccionará la tabla "autores" de la base "literatura". Más adelante se explicará cómo hacer para poder ver la tabla.
Observa que el código MySQL lo hemos guardado en la variable $sql, esto es porque ahora debemos mandarlo a la base de datos, esto lo hacemos mediante la siguiente función:
$datos=mysql_query($sql,$db)
Donde el primer argumento ($sql) es el código MySQL (guardado en la variable $sql) y el segundo es la referencia a la conexión.
Los datos requeridos están en la variable $datos, más adelante veremos cómo extraerlos para verlos en la página. Lo visto hasta ahora es el código básico imprescindible para trabajar con una base de datos MySQL.
El código completo visto hasta ahora para trabajar con una base de datos en local quedará así:
<?php
$db=mysql_connect($servidor,$usuario,$contrasena);
mysql_select_db("nombre_base_datos",$db);
$sql="código_MySQL";
$datos=mysql_query($sql,$db)
mysql_close($db);
?>
En este código se supone que hemos guardado previamente los nombres del servidor, usuario y contraseñá en sus respectivas variables.
En la variable $datos mandamos o recibimos los datos que se refieren a la base y que hemos escrito en código_MySQL.
El código visto hasta ahora es básico para trabajar con cualquier base de datos en MySQL.
<En la siguiente página veremos cómo crear e introducir elementos en una base de datos.
Sugerencias:
aprendeweb@aprende-web.net. Envia un
Visita nuestro blog par saber en qué estamos trabajando: Aprende Web Blog
Más sobre anyelguti en http://anyelguti.16mb.com