8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 -...

40
1 8º Unidad Didáctica PHP Eduard Lara

Transcript of 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 -...

Page 1: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

1

8º Unidad Didáctica

PHP

Eduard Lara

Page 2: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

2

8.1 Lenguajes de script del servidor PHP8.2 Sintaxis básica de PHP 8.3 La instrucción include8.4 Cookies y sesiones8.5 Bases de datos. Interacción con MySQL

ÍNDICE

Page 3: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

3

8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP

Página estática Página cuyos elementos permanecen invariables. Siempre muestra la misma información a

cualquier usuario que navegue por ella. Su código fuente es el mismo y no puede ser

cambiado por la intervención del usuario ni tampoco a través de ningún programa.

Las Páginas estáticas utilizan los lenguajes: CSS, HTML, Javascript

Son lenguajes ejecutados en el navegador

Page 4: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

4

8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP

Proceso Visualización de una Página estática 1) El navegador realiza la petición para acceder a

una página con extensión HTML2) El servidor busca la página deseada3) El servidor devuelve la página HTML solicitada

sin modificarla (si no la encuentra devuelve mensaje error)

4) El navegador interpreta el documento y lo presenta en pantalla

Page 5: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

5

8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP

Página dinámicaPágina cuyos contenidos pueden cambiar en

función de la interactividad con el usuario. Las páginas web dinámicas ofrecen

funcionalidades de acceso a bases de datos. Esto se consigue mediante un lenguaje de

script de servidor: PHP, ASP, JSP, PERLSon lenguajes que se ejecutan en el servidor.

El resultado de dicha ejecución es una página escrita en HTML, CSS ó JavaScript.

Page 6: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

6

8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP

Proceso Visualización de una Página dinámica 1) El navegador pide acceder a la página PHP.2) El servidor busca la página solicitada3) El servidor pasa la página con extensión PHP al

interprete PHP para que ejecute los scripts4) El interprete PHP devuelve el documento

resultante al servidor, como código HTML5) El servidor devuelve la página al navegador.6) El navegador interpreta el documento y lo

presenta en pantalla

Page 7: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

7

8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP

PHP (Hypertext Pre Processor) es un lenguaje interpretado y de alto nivel cuyas instrucciones deben ser ejecutadas por el servidor.PHP es muy parecido a Java­Script: variables, funciones, estructuras de control, etc. PHP no es un lenguaje orientado a objetos aunque sí tiene recursos que permiten definir clases y construir objetos.El servidor web más popular del mercado, es el Apache. Éste trae incorporado el intérprete de PHP.

Page 8: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

8

8.2 SINTAXIS BÁSICA DE PHP

¿Cómo identifica el servidor web que un documento contiene elementos php? El documento deberá llevar la extensión php.¿Cómo detecta el interprete de phpfragmentos de código php? Deberá estar identificado de la siguiente manera:<?php

instrucciones_en_codigo_php; ?>

Page 9: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

9

8.2 SINTAXIS BÁSICA DE PHP

Reglas básicas para las instrucciones:Deben acabar en punto y coma (;).Los comentarios son iguales que en Javascript:

- // Para comentar una línea- /* y * / Para comentar más de una líneaLa instrucción echo "texto"; imprime dicha

cadena de texto en pantalla

Page 10: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

10

8.2 SINTAXIS BÁSICA DE PHP

Ejemplo primer.php<html> <head> <title>Hola Mundo</title> </head> <body>

<?phpecho "<h1>HOLA MUNDO</h1>";

?></body> </html>

Guardar en c:\xamp\htdocs o subdirectorio. Para probarlo, escribir en un navegador:http://localhost/primer.php

Page 11: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

11

8.2 SINTAXIS BÁSICA DE PHP – CONSTANTES Y

VARIABLESLas constantes se definen mediante:

define("Nombre","Valor");Sus valores se mantienen en todo el documento.Las variables son introducidas mediante el símbolo dólar ($): $variable=valor;

$cadena="En un lugar de la Mancha";cadenas (string).$doble=3.14159; Coma flotante (double)$entera=2;Entera (integer)

Tipos de variables

Page 12: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

12

8.2 SINTAXIS BÁSICA DE PHP – VARIABLES Y

CONSTANTES

La declaración de tipos no es necesaria: una misma variable pueden contener cualquiera de los tipos indicados.

La conversión del valor de $entera a una cadena de texto se realiza así:

echo "La variable 'entera' vale".$entera.".";La concatenación entre ambos tipos de datos (string y número) se ha conseguido mediante la utilización del operador «punto» (.).

Page 13: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

13

8.2 SINTAXIS BÁSICA DE PHP -ÁMBITO DE LAS

VARIABLESÁmbito de una variable porción de código del

programa desde el cual es accesible.Variables locales Variables definidas dentro

de un script o función que sólo pueden ser accedidas dentro de ese ámbito.

Variables globales Variables accedidas por una función aunque estén definidas fuera de ella o viceversa. Su sintaxis es: global "variable";

Variables superglobales Variables predefinidas, que se comportan como si fueran globales. Variables de servidor: $_SERVER.

Page 14: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

14

8.2 SINTAXIS BÁSICA DE PHP – ENVÍO VARIABLES

ENTRE PÁGINASEl envío de variables entre páginas es una

forma habitual de trabajar en scripts de servidor (procesado de formularios, carrito de compra).

Se puede hacer por dos métodos: GET y POST.Método GET

Las variables y sus valores se pasan en la cabecera del mensaje HTTP junto con la URL de la página que debe aceptar dichas variables:

pagina.php?variable1=valor1&variable2=valor2Bloque variable = valor Bloque variable = valorPágina web pedida

Page 15: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

15

8.2 SINTAXIS BÁSICA DE PHP – ENVÍO VARIABLES

ENTRE PÁGINASMétodo GET

Los bloques variable=valor pueden ser tantos como se quieran, con la única restricción que impone el método GET de 2000 caracteres.Los nombres de variables no van precedidos del signo $. Los valores de las variables no van escritos entre comillas (sean del tipo que sean).La página que recibe la información, puede acceder a las variables mediante $_GET[variable1]

Page 16: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

16

8.2 SINTAXIS BÁSICA DE PHP – ENVÍO VARIABLES ENTRE

PÁGINASMétodo POST

Este método esconde las variables y sus valores en el cuerpo del mensaje HTTP (las variables no son visibles en la URL).El acceso a las variables se podrá hacer con:

$_POST[variable1]

Si la directiva register_globals del servidor está en ON, las variables podrán ser recogidas directamente mediante $variable1 (tanto para el método GET como para POST).

Page 17: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

17

8.2 SINTAXIS BÁSICA DE PHP –ARRAYS

Los arrays son un conjunto de valores almacenados en una sola variable Son como tablas, donde los valores de sus celdas son accesibles mediante índices.

Los elementos que la componen se identifican mediante el nombre del array y un índice (que empieza por la «celda» 0): $nombre[indice] ; $dias_semana[5]=“Sabado”;

SabadoViernesJuevesMiércolesMartesLunes543210

Page 18: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

18

8.2 SINTAXIS BÁSICA DE PHP –ARRAYS ASOCIATIVOS

Array indexado por una palabra o clave. Acceso a los elementos de un array asociativo:

$nombre[ 'identificador'] =valor;Ejemplo: Array asociativo $coche:

Para acceder al valor de su primera celda:$coche[ "marca"] ="mercedes";

NegroClase E4567-CDEmercedescolormodelomatriculaMarca

Page 19: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

19

8.2 SINTAXIS BÁSICA DE PHP –ESTRUCTURA CONTROL

FLUJOEstructura condicional if-else.

<?php if(condicion) {?>instrucciones HTML1 si se

cumple la condicion<?php } else{ ?>

instrucciones HTML2 si no se cumple la condicion<?php } ?>

<?phpif(condicion1){

instrucciones;}elseif (condicion2) {

instrucciones;} else {

instrucciones; }?>

Intercalando instrucciones HTML con instrucciones PHP

Dentro del código PHP

Page 20: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

20

8.2 SINTAXIS BÁSICA DE PHP –ESTRUCTURAS CONTROL

FLUJOEstructura condicional switch-case

switch ( variable ) {case n1:

instrucciones caso n1;break;

case n2:instrucciones caso n2;break;

default: instrucciones en caso de no cumplirse ninguna condición

}

Ideal para evaluar numerosas condiciones.

Page 21: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

21

while(condicion){

instrucciones;}-----------------------------------do{

Cuerpo_del_bucle;}while(condicion)

for(desde; hasta; incremento){

instrucciones;}

for($j=0; $j< n; $j++){

instrucciones;}

Bucle while y do-whileBucle for

8.2 SINTAXIS BÁSICA DE PHP –ESTRUCTURAS CONTROL

FLUJO

Page 22: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

22

8.2 SINTAXIS BÁSICA DE PHP – FUNCIONES

Se define igual que en Javascript:

Llamada a la función:suma (1, 2);1 sería $a y 2 $b

function suma($a,$b){

var_suma=$a+$b;return $var_suma

}

nombre(numero1, numero2);function nombre (parámetros){

instrucciones_php; }

Page 23: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

23

Permite la inclusión del contenido de un ficheros en un script.

<?php include("ruta fichero"); ?>Esta orden se sustituye por el contenido del

fichero especificado.Extensión específica para los archivos includeinc (archivo. inc) aunque se poner otra.Si se incluye código PHP, poner <?php y ?> si

no sería interpretado como texto normal.Permite actualización homogénea de sitio web

8.3 LA INSTRUCCIÓN INCLUDE

Page 24: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

24

<html><head><title>Fecha en castellano</title></head><body><? phpinclude("fecha.inc");include("hora.inc");echo fecha (); echo hora () ; ?></body> </html>

8.3 LA INSTRUCCIÓN INCLUDE

Cada una de las funciones estáguardada en un archivo aparte

(fecha. inc y hora. inc) y llamadas con include desde la

página principal.

Page 25: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

25

Facilitan el almacenamiento de información relativa a los visitantes de una página, durante una visita o entre visitas (Mensaje bienvenida)

El uso de variables sólo es válida durante la visita del usuario y no es una técnica segura.

Requisitos: El servidor debe admitir las cookies. Las instrucciones para el envío de cookies y

creación de sesiones deben al principio de la página, antes de cualquier etiqueta HTML.

8.4 COOKIES Y SESIONES

Page 26: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

26

Las cookies son pequeños ficheros que se escriben en el ordenador del cliente.

Contienen información que las páginas visitadas pueden recuperar y utilizar en futuras visitas del usuario (parámetros elegidos anter.)

La información de una cookie se guarda en variables, de la forma variable=“valor"

Se puede establecer la fecha de caducidad de la cookie (tiempo que el ordenador guardarádicha información)

8.4 COOKIES

Page 27: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

27

Netscape Guarda todas las cookies en un único archivo,

cookies. txt, en el subdirectorio del usuario que se crea en la instalación del programa y que estádentro de otro llamado users.Explorer

Crea un archivo para cada cookie, en el directorio “Archivos temporales de internet”"id equipo"@"Web que inserta la cookie“["numero de visitas"] .txt edu@elmundo[1].txt

8.4 COOKIES

Page 28: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

28

Para enviar cookies usando PHP:setcookie("nombre", "valor", "fecha");

Después de fecha de caducidad, la «galleta»se deshabilita. Si no se establece fecha, la cookie permanecerá en el equipo del usuario.

La variable de la cookie, puede ser leída con $_COOKIE['nombre_variable']

si ha sido escrito antes y no ha expirado.

8.4 COOKIES

Nombre variable Valor Fecha caducidad cookie

Page 29: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

29

Las sesiones ofrecen mayores posibilidades que las «galletas».

Permiten identificar al usuario de forma unívoca y su perfil personalizada

Las sesiones se almacenan en el servidor. No se depende de si el usuario ha aceptado las cookies en su ordenador o ha decidido borrarlas.

La información obtenida durante la sesión se almacena en las llamadas variables de sesión

8.4 SESIONES

Page 30: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

30

Las variables son guardadas en un directorio del servidor. Se puede indicar mediante:

session_save_path("./sesiones");Para iniciar una sesión:

session_start(); Al inicio de la páginaPHP al crear una sesión, le asigna un número

identificativo y un nombre, accesibles con las siguientes instrucciones:

echo session_id() echo session_name()

8.4 SESIONES

Page 31: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

31

Para asignar un nombre especif. a una sesión:session_name('nombre_sesion');

Para comunicar a otras páginas que deben continuar con la sesión ya iniciada, se debe propagar la sesión Se le debe pasar el nombre y su identificador.<a href="pagina_siguiente.php?<?php echo session_name()."=".session_id()?>">enlace </a>El usuario verá en la barra de direcciones una cadena inteligible de caracteres.

8.4 SESIONES

Page 32: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

32

Las variables de sesión son guardadas en el servidor mientras dure ésta.

Para crear las variables de sesión:$_SESSION[ 'variable'] ="valor";

El servidor no puede actualizar una página dinámica que es almacenada en la caché. session_cache_limiter('nocache, private');

Evita que la página se almacene en la cachédel navegador y pueda actualizarse su contenido.

8.4 SESIONES

Page 33: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

33

PHP tiene funciones para interactuar con la gran mayoría de servidores de bases de datos: MySQL, Oracle, SQL Server, etc.

MySQL es la base de datos más popular para los desarrolladores de PHP. Esa popularidad se debe a su gratuidad, liviandad y eficacia.

Se recomienda instalar el paquete XAMP que incluye la base de datos Mysql, un gestor webpara su administración phpmyadmin y otras utilidades necesarias (apache, filezilla, mercurymail)

8.5 BASE DE DATOS Y PHP

Page 34: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

34

1º paso para interactuar con MySQL desde PHP Autentificar el usuario ante la BD.

Datos necesarios: Servidor al que se solicita acceso (host), usuario y password (se alojan en base datos mysql, en la tabla users)

Estos datos se incluyen en un archivo inc, llamado por PHP mediante un include.

<?php$mysql_server="localhost";//Servidor local$mysql_login="root"; //Usuario administrador$mysql_pass="passwd"; //Contraseña

?>

8.5 BASE DE DATOS Y PHP. CONEXIÓN CON MYSQL

Page 35: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

35

Para conectarse a la base de datos:$conexion=mysql_connect ($mysql_server, $mysql_login, $mysql_pass) or die ("Error Con");

- $conexion es el id de conexión a MySQL.-Si no se puede conectar a la BD, con la instrucción or die se parará la ejecución del script y devolverá el texto Error en la conexión.Para seleccionar la BD con la cual se trabajará:

ok=mysql_select_db("basedatos", "id_conexion");

8.5 BASE DE DATOS Y PHP. CONEXIÓN CON MYSQL

Page 36: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

36

8.5 BASE DE DATOS Y PHP. OPERACIONES TÍPICAS

MYSQLUna vez realizada la conexión, se pueden realizar las operaciones típicas con un BD, con:

ok=mysql_query ("sentencia", "id_conexion") ; - sentencia que contiene la sentencia SQL.- id_conexion el identificador de la conexión - Devuelve un valor booleano indicando si la

operación se ejecutó con éxito o no:if (mysql_query ("Create Database mibd",$con)) {

echo "Base de datos creada con éxito";} else { echo "Error al crear la base de datos";}

Page 37: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

37

8.5 BASE DE DATOS Y PHP. OPERACIONES TÍPICAS

MYSQL

DELETE FROM tabla WHERE condicion

UPDATE tabla SET campol=valorl,campo2=valor2 WHERE condición

Insert into Tabla (campo1,campo2,..) values (valor1, valor2,..) WHERE condición

Drop table “nombretabla”Alter table “nombretabla” (DROP o ADD) “campomodificable”Create tabla if not exist tabla (campo1, campo2, …)Drop database nombreBDCreate database nombreBD

Sentencias

Page 38: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

38

8.5 BASE DE DATOS Y PHP. CONSULTAS

Una consulta puede devolver un conjunto de registros (0, 1 o muchos), los cuales quedan recogidos en una variable:$registros=mysql_query("sentencia", $conexion)

Para acceder a cada uno de los registros:$registro=mysql_fetch_row($registros) .

Cada vez que se ejecute devolverá un registro, empezando por el primero y conservando la posición del último dado. Cuando llegue al final, devuelve false.

Page 39: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

39

8.5 BASE DE DATOS Y PHP. CONSULTAS

Cada registro está compuesto por campos. Para acceder a cada uno de los campos, se utiliza su índice. $registro[ 0] Acceso al 1º campo$registro[ 1] Acceso al 2º campoBucle para acceder a cada uno de los campos de cada registro de la consulta.while($registro= mysql_fetch_row($registros) ) {

echo “Campo1”.$registro[0].”-Campo2”.$registro[1];}

Page 40: 8º Unidad Didáctica - Personalpersonals.ac.upc.edu/elara/documentacion/PORTALES - UD8 - PHP.pdf · 7 8.1 LENGUAJES DE SCRIPT DEL SERVIDOR: PHP PHP (Hypertext Pre Processor) es un

40

8.5 BASE DE DATOS Y PHP. CONSULTAS

$filas=mysql_num_rows ("conjunto de registros");Devuelve el número de registros devueltos por

la consulta. Útil para realizar paginaciones en consultas muy largas y mostrar páginas con un número reducido de registros por página.