php. anotaciones prácticas iii guía-resumen del tutorial · creación de la tabla...

17
Programación Web Trabajar con PHP – Anotaciones Prácticas. PHP. Anotaciones prácticas III Guía-Resumen del Tutorial. 1 Php y bases de datos Mysql Por Justo Sáez Arenas Madrid 2008 Contenidos del tema 1. Apartados y Contenidos del Turorial ................................................................ 2 Bases de datos MySQL.....................................................................................2 Anexo 1. PhpMyAdmin..................................................................................15 1 Todo el contenido de este documento es una adaptación y elaboración en base a los contenidos del Tutorial “PHP en la Educación” Preparadores-08 PHP. Guía-Resumen del tutorial __1

Upload: others

Post on 08-May-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Programación Web

Trabajar con PHP – Anotaciones Prácticas.

PHP. Anotaciones prácticas III

Guía-Resumen del Tutorial.1

Php y bases de datos Mysql

Por Justo Sáez ArenasMadrid 2008

Contenidos del tema

1. Apartados y Contenidos del Turorial ................................................................ 2 Bases de datos MySQL.....................................................................................2Anexo 1. PhpMyAdmin..................................................................................15

1 Todo el contenido de este documento es una adaptación y elaboración en base a los contenidos del Tutorial “PHP en la Educación”

Preparadores-08 PHP. Guía-Resumen del tutorial __1

Programación Web

Trabajar con PHP – Anotaciones Prácticas.

1. Apartados y Contenidos del Turorial

Bases de datos MySQL● Ficheros MySQL● Campos y conexiones● Creación de tablas● Ver y modificar estructuras● Añadir registros e índices● Añadir a través de formularios● Consultas en tablas

● Modificación de registros● Borrado y copias de seguridad● Imágenes en tablas● Tablas InnoDB● Otras consultas● Proteger PHPMyAdmin

Cuestiones previas para utilizar el tutorial.Para seguir los ejemplos del tutorial, ahora necesitaremos crear los usuarios y tablas de ejemplo necesarios, pues los programas de ejemplo se referirán a ellos.

Se deben crear dos usuarios:

'pepe' con contraseña 'pepa''jose' con contraseña 'josefa'

para ello utilizaremos Myphpadmin, como se indica en el “Anexo 1. MyPhpAdmin”, al final de este documento y siguiendo las indicaciones del tutorial en: http://localhost/CursoPHP/php79.php

En las páginas siguientes, haremos un seguimiento de algunos de los ejemplos del tutorial, centrándonos en el proceso de creacción de la base y tablas de datos, formulario de entrada de datos e inserción en las tablas.

Acción ScriptCreación de la base de datos 'ejemplo' ejemplo162.phpCreación de la tabla 'ejemplo1' ejemplo163.phpCreación de la tabla 'demo4' ejemplo168.phpFormulario de entrada de datos ejemplo172.phpInserción de los datos tomados en el formulario en la tabla 'demo4'

ejemplo173.php

Trabajar con las Bases de datosA la hora de trabajar con bases de datos, básicamente los pasos a realizar son:

Preparadores-08 PHP. Guía-Resumen del tutorial __2

Programación Web

Trabajar con PHP – Anotaciones Prácticas.

1. Creación de la base de datos, puede que la base de datos exista previamente; como es obvio este paso no sería necesario.

2. Conexión.3. Consulta y modificación de registros.

Todo ello se realizará con la ayuda de sentencias sql.

Conexiones

Los comandos para manejar la conexión son.

$c=mysql_connect(h, u, p) $c=mysql_close ($c)

Existe una opcion 'or die' que se puede añadir al final de la orden que nos permite mostrar un mensaje opcional en caso de error en la conexión, por ejemplo:

$c=mysql_connect ("localhost","pepe","pepa") or die ("Imposible conectar");

Creación de un fichero INCLUDE

En los scripts PHP con los que manejemos las bases de datos vamos a necesitar insertar continuamente:

● nombre del servidor● nombre de usuario● contraseña

por ello será muy útil crear un fichero donde almacenar dichos datos, el cual incluiremos cuando lo necesitemos. Además de comodidad nos otorga mayor seguridad, pues lo podemos colocar en un directorio separado y con los pertinentes derechos de acceso.

Ejemplo de fichero de conexión a la bd.<?$mysql_server="localhost";$mysql_login="pepe";$mysql_pass="pepa";?>

Si utilizamos un fichero con los datos de conexión, este sería un ejemplo de su utilización.

Ejemplo de conexión con fichero include.<?

Preparadores-08 PHP. Guía-Resumen del tutorial __3

Programación Web

Trabajar con PHP – Anotaciones Prácticas.

include("C:/Apache/seguridad/mysql.inc.php"); if($c=mysql_connect($mysql_server,$mysql_login,$mysql_pass)){ print "<br>La conexión con el servidor de bases de datos se ha realizado con exito<br>"; }else{ print "<br>No ha podido realizarse la conexión<br>"; exit(); } if(mysql_close($c)){ print "<br>Se ha cerrado la conexión con el servidor de bases de datos<BR>"; }?>

Creación de BD

En el tutorial se crea una base de datos denominada 'ejemplos' mediante el siguiente script:

Ejemplo162.php2

<? # introducimos en una variable el nombre de la base de datos a crear

$crear="ejemplos"; #conectamos con el servidor y comprobamos la conexión if ($conexion=mysql_connect ("localhost","pepe","pepa")){ echo "<h2> Conexión establecida con el servidor</h2><br>"; $p=mysql_list_dbs($conexion); $numero=mysql_num_rows($p); $comprueba=0;

#comprobamos si existe una base con ese nombre # si existe hace la variable comprueba igual a 1 # si no existe la variable comprueba sera 0 tal como la hemos # puesto aquí arriba

for ($i=0;$i<$numero;$i++) { if ($crear==mysql_db_name($p, $i)){ $comprueba=1; }; }

#si la base de datos no existe la creamos y escribimos el mensaje de exito #si existe, avisamos de su existencia y evitamos intentar crearla # observa que como nombre del la nueva base puede ponerse una variableif($comprueba==0){ if(mysql_query ("CREATE DATABASE $crear")){ echo "<h2> Base de datos $crear creada</h2><br>"; }else{ echo "<h2> No ha sido posible crear la base de datos $crear</h2><br>"; }; }else{ echo "<h2> La base de datos $crear YA EXISTE</h2><br>"; } ;

2 En el tutorial: http://localhost/CursoPHP/ejemplo162.php

Preparadores-08 PHP. Guía-Resumen del tutorial __4

Programación Web

Trabajar con PHP – Anotaciones Prácticas.

# cerramos la conexión con el servidor

if(mysql_close($conexion)){ echo "<h2> Conexión cerrada con exito</h2><br>"; }else{ echo "<h2> No se ha cerrado la conexión</h2>"; };

}else{ echo "<h2> NO HA SIDO POSIBLE ESTABLECER LA CONEXIÓN</h2>"; } ?>

Y se pide que se cree otra denominada 'prácticas', para lo cual modificaremos el anterior script sustituyendo ejemplos por practicas en la linea:

$crear="practicas";

Al ejecutar los script nos debe dar como resultado:

En caso de producir error, lo mas probable es que sea debido a los permisos del usuario que hemos utilizado.

Si todo va bien podremos ver en phpMyadmin:

Creación de una tabla

El siguiente script crea la tabla 'ejemplo1':

ejemplo163.php<?/* nos conectamos con el servidor recogiendo en $c el identificador de conexión */

Preparadores-08 PHP. Guía-Resumen del tutorial __5

Programación Web

Trabajar con PHP – Anotaciones Prácticas.

$c=mysql_connect ("localhost","pepe","pepa") or die ("Imposible conectar"); # seleccionamos una base de datos existente de lo contrario nos daría un error# pondremos como nombre ejemplos nuestra base de datos# creada en la página anterior y usaremos $c# importante no olvidarlomysql_select_db ("ejemplos", $c); /* ahora ya estamos en condiciones de crear la tabla podríamos escribir ya la instrucción mysql_query y meter detro la sentencia MySQL pero, por razones de comodidad crearemos antes una variable que recoja toda la sentencia y será luego cuando la ejecutemos. Definiremos una variable llamada $crear e iremos añadiendo cosas */# la primera parte de la instrucción es esta (espacio final incluido$crear="CREATE TABLE IF NOT EXISTS ";# añadiremos el nombre de la tabla que será ejemplo1# fijate en el punto (concatenador de cadenas) que permite# ir añadiendo a la cadena anterior$crear .="ejemplo1 ";#ahora pongamos el paréntesis (con un espacio delante)#aunque el espacio también podría detrás de ejemplo1 $crear .="( ";# insertemos el primer campo y llamemoslo num1# hagamoslo de tipo TINYINT sin otras especificamos# sabiendo que solo permitira valores numéricos # comprendidos entre -128 y 127$crear .="num1 TINYINT , ";# LOS CAMPOS SE SEPARAN CON COMAS por eso# la hemos incluido al final de la instrucción anterior# ahora num2 del mismo tipo con dimensión 3 y el flag UNSIGNED# Y ZEROFILL que: cambiará los límites de valores # al intervalo 0 - 255, y rellenará con ceros por la izquierda# en el caso de que el número de cifras significativas# sea menor de 3.# Fijate que los flags van separado unicamente por espacios$crear .="num2 TINYINT (3) UNSIGNED ZEROFILL, ";# en num3 identico al anterior añadiremos un valor por defecto# de manera que cuando se añadan registros a la tabla# se escriba automaticamente ese valor 13 en el caso# de que no le asignemos ninguno a ese campo# por ser numérico 13 no va entre comillas$crear .="num3 TINYINT (7) UNSIGNED ZEROFILL DEFAULT 13, ";# ahora un número decimal num4 tipo REAL con 8 digitos en total# de los cuales tres serán decimales y también rellenaremos con ceros# Pondremos como valor por defecto 3.14$crear .="num4 REAL (8,3) ZEROFILL DEFAULT 3.14, ";# añadamos una fecha $crear .="fecha DATE, ";/* una cadena con un limite de 32 carácter con BINARY para que diferencie Pepe de PEPE */$crear .="cadena VARCHAR(32) BINARY, ";/* un ultimo campo –opcion– del tipo ENUM que solo admita como valores SI, NO, QUIZA fijate en las comillas y en el parentesis ¡¡cuidado...!! aqui no ponemos coma al final es el último campo que vamos a insertar y no necesita ser separado. Si la pones

Preparadores-08 PHP. Guía-Resumen del tutorial __6

Programación Web

Trabajar con PHP – Anotaciones Prácticas.

dará un ERROR */$crear .="opcion ENUM('Si','No','Quiza') ";# solo nos falta añadir el paréntesis conteniendo toda la instrucción$crear .=")";/* tenemos completa la sentencia MYSQL solo falta ejecutarla mediante mysql_query ya que la conexión está abierta y la base de datos ya está seleccionada *//* pongamos un condicional de comprobación */if(mysql_query($crear,$c)){

print "Se ha creado la base de datos<br>";print "La sentencia MySQL podríamos haberla escrito asi:<br>";print "mysql_query("."\"".$crear."\" , $c);";

}else{ print "Se ha producido un error al crear la tabla";

}?>

Los tipos de datos que admite Mysql están resumidos en:

http://localhost/CursoPHP/php80.php

Si todo va bien, en Myphpadmin tendremos:

Y si seleccionamos el icono de estructura:

Con el siguiente script se crea la tabla 'demo4.'

Ejemplo168.php

Preparadores-08 PHP. Guía-Resumen del tutorial __7

Programación Web

Trabajar con PHP – Anotaciones Prácticas.

<? $base="ejemplos";

#definimos otra variable con el NOMBRE QUE QUEREMOS DAR A LA TABLA

$tabla="demo4";

# establecemos la conexión con el servidor

$c=mysql_connect ("localhost","pepe","pepa");

#Seleccionamos la BASE DE DATOS en la que PRETENDEMOS CREAR LA TABLA

mysql_select_db ($base, $c);

# creamos la cada con la sentencia de inserción de los campos

$crear="CREATE TABLE $tabla ("; # definimos como autoincremental el campo contador# de esta forma irá tomando valores automaticamente# este tipo de campo va a requerir que lo definamos como campo INDICE$crear.="Contador TINYINT(8) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,"; $crear.="DNI CHAR(8) NOT NULL, "; $crear.="Nombre VARCHAR (20) NOT NULL, "; $crear.="Apellido1 VARCHAR (15) not null, "; $crear.="Apellido2 VARCHAR (15) not null, "; # insertamos un valor por defecto en la fecha de nacimiento$crear.="Nacimiento DATE DEFAULT '1970-12-21', "; $crear.="Hora TIME DEFAULT '00:00:00', "; # insertamos un campo tipo Enum$crear.="Sexo Enum('M','F') DEFAULT 'M' not null, "; $crear.="Fumador CHAR(0) , "; $crear.="Idiomas SET(' Castellano',' Francés','Inglés',' Alemán',' Búlgaro',' Chino'), "; # ahor insertamos el indice principal que evitará que se puedan repetirse# los numeros de DNI$crear.=" PRIMARY KEY(DNI), ";# el indice asociado al contador# que por su caracter autonumerico es inevitable$crear.=" UNIQUE auto (Contador)"; $crear.=")";

#Creamos la cadena, comprobamos si esa instrucción devuelve# VERDADERO o FALSO# y dependiendo de ellos insertamos el mensaje de exito o fracaso

if(mysql_query ($crear ,$c)) {echo "<h2> Tabla $tabla creada con EXITO </h2><br>";

}else{echo "<h2> La tabla $tabla NO HA PODIDO CREARSE ";# echo mysql_error ($c)."<br>";

Preparadores-08 PHP. Guía-Resumen del tutorial __8

Programación Web

Trabajar con PHP – Anotaciones Prácticas.

$numerror=mysql_errno ($c);if ($numerror==1050){echo "porque YA EXISTE</h2>";}

};

# cerramos la conexión... y listo...

mysql_close($c);?>

Al ejecutarlo nos mostrará el mensaje:

y la estructura de la tabla es:

Formularios de datos:

Normalmente la forma de captar datos se realiza mediante formularios de entrada, basados en html y con script de validación incluidos.

Este es el formulario del ejemplo172.php del tutorial:

Preparadores-08 PHP. Guía-Resumen del tutorial __9

Programación Web

Trabajar con PHP – Anotaciones Prácticas.

cuyo código fuente es:

Ejemplo172.php3

<html> <head> <title>Formulario para añadir datos a la tabla demo4</title> </head> <body> <center><h2>Tabla «demo4»<br>Formulario de altas<h2></center>

<!-- creamos un formulario en el que recogeremos los valores a añadir a la base de datos demo4 utilizaremos los mismos nombres de variables que en aquel - por razones de comodidad- anteponiendoles p_ //-->

<form name="altas" method="POST" action="ejemplo173.php"> <table bgcolor="#E9FFFF" align=center border=2>

<td align="right">Escribe tu D.N.I.: </td> <td align="left"> <input type="text" name="p_v1" value="" size=8></td><tr> <td align="right">Nombre....: </td> <td align="left"> <input type="text" name="p_v2" value="" size=20></td><tr> <td align="right">Primer apellido....: </td> <td align="left"> <input type="text" name="p_v3" value="" size=15></td><tr> <td align="right">Segundo apellido...: </td> <td align="left"> <input type="text" name="p_v4" value="" size=15></td><tr> <td align="right">Fecha de nacimiento: </td>

<!-- para evitar fechas de nacimiento incorrectas utilizamos la opción select para asignarles valores y recogemos e un array de indices 0, 1 y 2 los valores respectivos de año, mes y día con el ánimo de mantener la misma secuencia con la que MySQL registrará estos datos //-->

3 En el tutorial: http://localhost/CursoPHP/ejemplo162.php

Preparadores-08 PHP. Guía-Resumen del tutorial __10

Programación Web

Trabajar con PHP – Anotaciones Prácticas.

<td align="left"> <select name="p_v5[2]"> <!-- insertamos un script PHP que nos genere autmaticamente las options con valores entre 1 y 31 (se trata del campo dias //-->

<? for ($i=1;$i<32;$i++){ echo "<option>$i</option>"; } ?> </select> de

<!-- repetimos un bucle como el anterior las options de mes esta vez entre 1 y 12 (se trata del campo dias //-->

<select name="p_v5[1]"> <? for ($i=1;$i<13;$i++){ echo "<option>$i</option>"; } ?> </select> de

<!-- ahora el bucle para años, tratándose de fechas de nacimiento pongámoslas en el intervalo 1935 - 2003 //-->

<select name="p_v5[0]"> <? for ($i=1935;$i<2004;$i++){ echo "<option>$i</option>"; } ?>

<!-- el sexo lo recogemos mediante una una opcion tipo radio y le asignamos cheked al valor M para obligar a que tenga el mismo valor El unico detalle relevante es que el name ha de ser el mismo en ambos botones de opcion //-->

</select></td><tr> <td align="right">Sexo...:</td> <td align="left"> <input type="radio" name="p_v6" value="M" checked > Masculino <input type="radio" name="p_v6" value="F" > Femenino </td><tr> <td align="right">Hora de nacimiento: </td>

<!-- para insertar la hora de nacimiento utilizamos la misma estrategia que para la fecha de nacimiento utilizando un array como variable y asignando los indices 0, 1 y 2 para horas, minutos y segundos respectivamente //-->

<td align="left"> <select name="p_v7[0]"> <? for ($i=0;$i<24;$i++){ echo "<option>$i</option>"; } ?>

</select> h <select name="p_v7[1]"> <? for ($i=0;$i<60;$i++){ echo "<option>$i</option>"; } ?>

Preparadores-08 PHP. Guía-Resumen del tutorial __11

Programación Web

Trabajar con PHP – Anotaciones Prácticas.

</select> m <select name="p_v7[2]"> <? for ($i=0;$i<60;$i++){ echo "<option>$i</option>"; } ?> </select> s</td><tr>

<!-- volvemos a utilizar la opción radio para asignar valor 1 al caso de fumador valor 0 en el caso de no fumador y recogemos el resultado en la variable p_v8 //-->

<td align="right">Fumador:</td> <td align="left"> <input type="radio" name="p_v8" value="1" checked > Si <input type="radio" name="p_v8" value="0" > No </td><tr>

<!-- la opción idiomas la activamos mediante un SELECT MULTIPLE que permite visualizar las OPCIONES DE IDIOMA POR EL MISMO ORDEN EN QUE FUERON DEFINIDAS EN LA OPCION SET DE LA BASE DE DATOS A cada una de las opciones les asignamos como valor una POTENCIA DE DOS empezando por 2 elevado 0, 2 elevado 1, 2 elevado 2, etc. la finalidad de esta estrategia es permitir que en el formulario de ALTAS se puedan sumar estos valores y que esa suma se el valor decimal equivalente al valor binario de las opciones seleccionadas El array p_v9 recogerá con indices correlativos a partir de 0, unicamente los valores de AQUELLAS OPCIONES QUE HAN SIDO SELECCIONADAS //-->

<td align="right">Habla:<br> (<i>Si habla varios seleccionarlos<br> pulsando con el mouse encima de <br> cada uno de ellos con la tecla<br> <b>Ctrl</b> presionada</i>)</td> <td align="left"> <SELECT MULTIPLE name=p_v9[] SIZE=6> <option value=1>Castellano</option> <option value=2>Francés</option> <option value=4>Inglés</option> <option value=8>Alemán</option> <option value=16>Búlgaro</option> <option value=32>Chino</option> </select> </td><tr>

<!--colocamos los botones de enviar y borrar //-->

<td align=center><input type=submit value="Enviar"></td> <td align=center><input type=reset value="Borrar"></td> </form> </table> </body> </html>

Y los datos de este formulario se recogen con:

Ejemplo173.php<? # recogemos en una variable el nombre de BASE DE DATOS $base="ejemplos";

Preparadores-08 PHP. Guía-Resumen del tutorial __12

Programación Web

Trabajar con PHP – Anotaciones Prácticas.

# recogemos en una variable el nombre de la TABLA $tabla="demo4";

# recoger y adaptar las variables pasadas desde el formulario # ni el DNI ni los nombres y apellidos necesitan ninguna modificacion # por eso los pasamos a la variable intermedia directamente

/* estas variables intermedias podrían evitarse. El hecho de usarlas obedece unicamente a un intento de mayor claridad en la interpretación de este codigo fuente */

$v1=$_POST['p_v1']; $v2=$_POST['p_v2']; $v3=$_POST['p_v3']; $v4=$_POST['p_v4'];

/* Leemos el array pv__5 y lo recogemos en un array escalar de indices autonumericos (nacimiento) teniendo en cuenta que el orde sería dia, mes y año, ya que así lo hemos insertado en los indices del formulario */

foreach ($_POST['p_v5'] as $valor){ $nacimiento[]=$valor; }

/* creamos la variable fecha de nacimiento ENCADENANDO el array anterior FIJATE QUE LO HACEMOS EN ORDEN INVERSO PORQUE MySQL REQUIERE FECHAS CON FORMATO AÑO-MES-DIA (AAAA-MM-DD) */

$v5=$nacimiento[2]."-".$nacimiento[1]."-".$nacimiento[0];

# la variable Sexo la recogemos sin modificaciones # ya que desde el formulario solo recibimos # valor M ó valor F

$v6=$_POST['p_v6'];

/* Leemos el array pv__5 y lo recogemos en un array escalar (hora) de indices autonumericos teniendo en cuenta que el orde sería dia, mes y año, ya que así lo hemos insertado en los indices del formulario */

foreach ($_POST['p_v7'] as $valor){ $hora[]=$valor; }

/* encadenamos los elementos del array hora en formato válido MySQL, es decir: hora:minutos:segundos (hh:mm:ss) */

$v7=$hora[0].":".$hora[1].":".$hora[2];

# la variable $p_v8 puede contener valores # 0 (no fumador) ó 1 (si fumador) # con este bucle asignamos NULL para el primero de los casos # o CADENA VACIA para el segundo # ¡¡Atención...... # fijate como pasamos la cadena vacia # y fijate que en el INSERT no ponemos la variable $v8 entre comillas # es la excepción para el tipo de variable CHAR(O)

Preparadores-08 PHP. Guía-Resumen del tutorial __13

Programación Web

Trabajar con PHP – Anotaciones Prácticas.

# LA UNICA QUE NO PASAMOS ENTRECOMILLADA

if ($_POST['p_v8']==0) { $v8='"\n"'; }else{ $v8='""'; }

# el truco de asignar en el formulario valores 1,2,4,8,16,32 a las opciones de idioma # nos permite sumarlos aquí para obtener el valor conjunto # aqui se suman todos los valores de la matriz pasada desde el formulario

foreach($_POST['p_v9'] as $valor) { $v9+=$valor; };

# establecemos la conexion con el servidor

$c=mysql_connect("localhost","pepe","pepa");

#asiganamos la conexión a una base de datos determinada

mysql_select_db($base,$c);

# AÑADIMOS EL NUEVO REGISTRO /* CUIDADO.SOLO LAS VARIABLES NUMERICAS VAN SIN COMILLAS AL INSERTAR LOS VALOES OBSERVA EN VALUES QUE LAS VARIABLES NO NUMERICAS SE INSERTAN ENTRE COMILLAS..... */

mysql_query("INSERT $tabla (DNI,Nombre,Apellido1,Apellido2, Nacimiento,Sexo,Hora,Fumador,Idiomas) VALUES ('$v1','$v2','$v3','$v4','$v5','$v6','$v7',$v8,'$v9')",$c);

#comprobamos el resultado de la insercion # el error CERO significa NO ERROR # el error 1062 significa Clave duplicada # en otros errores forzamos a que nos ponga el número de error # y el significado de ese error (aunque sea en ingles)....

if (mysql_errno($c)==0){echo "<h2>Registro AÑADIDO</b></H2>"; }else{ if (mysql_errno($c)==1062){echo "<h2>No ha podido añadirse el registro<br>Ya existe un campo con este DNI</h2>"; }else{ $numerror=mysql_errno($c); $descrerror=mysql_error($c); echo "Se ha producido un error nº $numerror que corresponde a: $descrerror <br>"; } }

# cerramos la conexionmysql_close(); ?>

Una vez rellenado el formulario y enviados los datos los recoge el programa ejemplo173 e inserta en la tabla 'demo4':

Preparadores-08 PHP. Guía-Resumen del tutorial __14

Programación Web

Trabajar con PHP – Anotaciones Prácticas.

Consulta y modificar datos.El código para realizar las consultas y modificaciones de datos contenidos en las tablas de nuestra base de datos, se basará en la realización de sentencias sql.

Tablas InnoDB.A efectos de utilización no implican ningún cambio, salvo si queremos aprovechar sus ventajas, que incluyen:

● Las transacciones, que nos permiten sincronizar transacciones, mediante BEGIN, COMMIT y ROLLBACK

● Integridad referencial, mediante la creacción delas tabalas con:CREATE TABLE tabla (campo1, campo2,... KEY nombre (campo de vinculacion ), FOREIGN KEY (campo de vinculacion) REFERENCES nombre_de la tabla principal (Indice primario de la tabla principal)) Type=InnoDB

Anexo 1. PhpMyAdmin

Para configurar MySql, EasyPhp, una vez iniciado tenemos en el menú desplegable que aparece sobre el icono de EasyPhp.

La opción de 'Administración' que nos llevara la pantalla que a continuación se presenta.

Elegimos la opción 'Gestion BBDD', y tendremos la pantalla de phpMyadmin:

Preparadores-08 PHP. Guía-Resumen del tutorial __15

Programación Web

Trabajar con PHP – Anotaciones Prácticas.

Preparadores-08 PHP. Guía-Resumen del tutorial __16

Programación Web

Trabajar con PHP – Anotaciones Prácticas.

Al instalar EasyPhp, se crea un directorio 'data' donde se alojan las bases de datos:

Cada carpeta de 'data' contiene los ficheros pertinentes con la información de la bd que alberga.

Los ficheros con extensión .frm contienen la estructura de cada tabla, los MYD los datos y los que tienen extensión .MYI contienen los índices de esa tabla.

Crear usuarios:La tabla User contine los datos de los usuarios de nuestro mysql. Normalmente, por defecto, al menos existirá el usurio 'root'

Mediante la opción 'insertar nueva fila', añadiremos usuarios.

Preparadores-08 PHP. Guía-Resumen del tutorial __17