BASE DE DATOS (MYSQL) Uno de los empleos principales de php es el acceso a una base de datos en el servidor. las operaciones básicas se hacen empleando como lenguaje el SQL. Php implementa distintas funciones según la base de datos a emplear. Existen funciones actualmente para acceder a las siguientes servidores de bases de datos: – Mysql- Microsoft sql server– Oracle – Entre otros
El más empleado en la actualidad en la Web es el gestor de base de datos MySQL. (debido que cuando se lo emplea sin fines de lucro se puede emplear el software en forma gratuita).
Como ejemplo supongamos que se ha creado una base de datos llamada phpfacil ,también una tabla llamada alumnos cuya estructura se muestra a continuación
CREATE TABLE alumnos ( codigo int(11) NOT NULL auto_increment, nombre varchar(40) default NULL, mail varchar(50) default NULL, codigocurso int(11) default NULL, PRIMARY KEY (`codigo`) )
INSERT( Agregar registros a una tabla)
Necesitamos dos páginas para este proceso, una será el formulario de carga de datos y la siguiente será la que efectúe la inserción en la tabla.El paso más importante es la codificación del comando SQL insert:
mysql_query("insert into alumnos(nombre,mail,codigocurso) values ('$_REQUEST[nombre]','$_REQUEST[mail]',$_REQUEST[codigocurso])", $conexion) or die("Problemas en el select".mysql_error());
< head>< title>Problema< /title>< /head> < body> < h1>Registro de Alumnos< /h1> < form action="pagina2.php" method="post"> Ingrese nombre: < input type="text" name="nombre">< br> Ingrese mail: < input type="text" name="mail">< br> Seleccione el curso: < select name="codigocurso"> < option value="1">PHP< /option> < option value="2">ASP< /option> < option value="3">JSP< /option> < /select> < br> < input type="submit" value="Registrar"> < /form> < /body> FORMULARIO DE CARGA DE DATOS
Ahora veremos como realizar el registro de los datos cargados en el formulario, en la tabla alumnos de la base de datos phpfacil < html> < head> < title>Problema< /title> < /head> < body> < ?php $conexion=mysql_connect("localhost","root","z80") or die("Problemas en la conexion"); mysql_select_db("phpfacil",$conexion) or die("Problemas en la seleccion de la base de datos"); mysql_query("insert into alumnos(nombre,mail,codigocurso) values ('$_REQUEST[nombre]','$_REQUEST[mail]',$_REQUEST[codigocurso])", $conexion) or die("Problemas en el select".mysql_error()); mysql_close($conexion); echo "El alumno fue dado de alta."; ?> < /body> < /html>
Veamos los pasos para efectuar el registro en la tabla alumnos:
$conexion=mysql_connect("localhost","root","z80") or die("Problemas en la conexion");
La función mysql_connect se conecta a una base de datos de tipo MySql, el primer parámetro es la dirección donde se encuentra el gestor de base de datos (en este caso en el mismo servidor por lo que indicamos esto con "localhost), el segundo parámetro es el nombre de usuario de la base de datos ("root" en nuestro caso, que es el usuario por defecto que crea MySql para el administrador) y por último la clave del usuariol definída como clave la cadena "z80"). En caso de hacer algún error en la llamada a la función la misma retorna false por lo que se ejecuta la instrucción seguida del operador or, en nuestro caso llamamos a la función die que detiene la ejecución del programa y muestra el mensaje por pantalla.Paso seguido se selecciona una base de datos (ya que el gestor de base de datos puede administrar varias bases de datos):
mysql_select_db("phpfacil",$conexion) or die("Problemas en la seleccion de la base de datos"); A esta función le indicamos como primer parámetro el nombre de la base de datos con la que trabajaremos y como segundo parámetro la referencia que retornó la función mysql_connect.
mysql_close($conexion); echo "El alumno fue registrado.
Por último cerramos la conexion con la base de datos y mostramos un mensaje indicando que la carga se efectuó en forma correcta.Tener en cuenta que el campo código se generó en forma automática.
< ?php $conexion=mysql_connect("localhost","root","z80") or die("Problemas en la conexion"); mysql_select_db("phpfacil",$conexion) or die("Problemas en la selección de la base de datos"); $registros=mysql_query("select codigo,nombre, mail, codigocurso from alumnos",$conexion) or die("Problemas en el select:".mysql_error()); while ($reg=mysql_fetch_array($registros)) { echo "Codigo:".$reg['codigo']."< br>"; echo "Nombre:".$reg['nombre']."< br>"; echo "Mail:".$reg['mail']."< br>"; echo "Curso:"; switch ($reg['codigocurso']) { case 1:echo "PHP"; break; case 2:echo "ASP"; break; case 3:echo "JSP"; break; } echo "< br>"; echo "< hr>";} mysql_close($conexion); ?> LISTADO (SELECCIÓN DE REGISTROS DE UNA TABLA)
El comando SQL que nos permite recuperar datos de tablas se llama SELECT. Indicamos los campos a rescatar de la tabla y luego de la palabra clave from indicamos el nombre de la tabla:
$registros=mysql_query("select codigo,nombre, mail, codigocurso from alumnos",$conexion) or die("Problemas en el select:".mysql_error()); En caso de haber codificado incorrectamente, el comando SQL select la función mysql_query retorna false, por lo que se ejecuta el comando siguiente al operador or, es decir la función die.Si el comando SQL es correcto, en la variable $registros se almacena una referencia a los datos rescatados de la tabla alumnos. Ahora debemos ir mostrando registro a registro los datos extraidos: while ($reg=mysql_fetch_array($registros))
while ($reg=mysql_fetch_array($registros))
Para rescatar registro a registro los datos obtenidos por el select debemos llamar a la función mysql_fetch_array. Esta función retorna un vector asociativo con los datos del registro rescatado, o false en caso de no haber más registros
Página siguiente |