Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje...

43
Introducci´ on a PHP Luis Valencia Cabrera ([email protected]) Research Group on Natural Computing Departamento de Ciencias de la Computaci´ on e Inteligencia Artificial Universidad de Sevilla 10-02-2020, Bases de Datos Luis Valencia Cabrera ([email protected]) Bases de Datos Introducci´ on a PHP

Transcript of Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje...

Page 1: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

Introduccion a PHP

Luis Valencia Cabrera ([email protected])

Research Group on Natural ComputingDepartamento de Ciencias de la Computacion e Inteligencia Artificial

Universidad de Sevilla

10-02-2020, Bases de Datos

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 2: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

Introduccion

Comunicacion cliente - servidorPHP (acronimo de “PHP: Hypertext Preprocessor”) es unlenguaje interpretado de alto nivel embebido en paginasHTML y ejecutado en el servidor.Su nombre es una broma, ya que la primera P de las siglashace referencia a PHP. Es un nombre recursivo.

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 3: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

Introduccion

Comunicacion entre el cliente y el servidor sin PHP:Escribimos en la barra del navegador la direccion y el archivo asolicitar.El navegador envıa el mensaje a traves de Internet a otro ordenador,por ejemplo http://www.cs.us.es/cursos/bd/Welcome.htmlsolicitando la pagina (archivo) Welcome.html.El servidor web (que puede ser el Apache, IIS, etc.), programa quese ejecuta en la maquina www.cs.us.es, recibe el mensaje y lee elarchivo solicitado desde el disco duro.El servidor web envıa el archivo solicitado por el navegador tal cualesta en el disco duro.El navegador muestra en pantalla el archivo que envio el servidorweb.

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 4: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

Introduccion

Comunicacion entre el cliente y el servidor con PHP:Escribimos en el navegador la direccion del archivo a solicitar.El navegador envıa el mensaje a traves de Internet a otroordenador solicitando la pagina fichero.php.El servidor recibe el mensaje y al ver que la extension es “php”solicita al interprete de PHP (otro programa que se ejecuta enel servidor web) que ejecute el archivo y devuelva la respuesta.El interprete PHP lee desde el disco el archivo fichero.php.El interprete PHP ejecuta los comandos contenidos en elarchivo (y eventualmente se comunica con un gestor de basede datos) (por ejemplo MySQL).

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 5: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

Introduccion

Comunicacion entre el cliente y el servidor con PHP:Tras ejecutar el programa contenido en el archivo, envıa surespuesta al servidor web.Este envıa la respuesta al cliente que la habıa solicitado.El navegador muestra en pantalla el archivo que envio elservidor web.En PHP la salida puede ser la pagina HTML de respuesta(esta viaja por internet y llega al cliente que la solicito), obien un archivo JSON, XML, etc.

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 6: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

Introduccion

Para agregar un programa PHP dentro de una pagina HTMLdebemos por un lado al crear el archivo definirlo con extensionphp (a diferencia de las paginas estaticas que tienen extensionhtml) y dentro del contenido de la pagina, encerrar elprograma entre los sımbolos<?php /* Mi programa PHP */ ?>

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 7: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

Introduccion

Inicia el servidor (programa Apache) en el panel de control deXAMPPCrea un directorio Ejemplos en C://xampp/htdocs/Guarda el fichero ej1.php (ver diapositiva siguiente) en eldirectorio C://xampp/htdocs/EjemplosPara ver la salida del programa, escribe en el navegadorlocalhost/Ejemplos/ej1.php

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 8: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

Un primer ejemplo

El comando de PHP para imprimir dentro de la pagina se llamaecho.<html><head></head><body><?php

echo "Hola Mundo";?></body></html>Podemos ver en el navegador cual es el codigo HTML que hagenerado el programa PHP.

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 9: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

Comentarios

Comentarios dentro de <? php y ?>

// Esto es un comentario en una lınea# Esto tambien es un comentario en una lınea/* Esto es un comentariode mas de una lınea */

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 10: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

Otro ejemplo

Las variables empiezan siempre con el sımbolo de dolar ($).PHP distingue entre mayusculas y minusculasPodemos concatenar cadenas de caracteres con el contenidode expresiones. El operador de concatenacion es el punto (.)La estructura if - else es igual que en JavaScript.

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 11: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

Otro ejemplo

$dia = date("d"); guarda en la variable $dia el valor deldıa del mes con dos dıgitos (con ceros iniciales).$dia = date("j"); guarda en la variable $dia el valor deldıa del mes sin ceros iniciales$mes = date("n"); guarda en la variable $mes el valor deldıa del mes una representacion numerica de un mes, sin cerosiniciales.year = date("Y"); guarda en la variable $year el anoactual con 4 dıgitos.ds=date("w"); guarda en la variable $ds una representacionnumerica del dıa de la semana (0 para domingo, 1 lunes...)Podemos encontrar mas formas de dar la fecha enhttp://php.net/manual/es/function.date.php

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 12: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

Prueba el siguiente fichero

<!DOCTYPE html><html><body>

<?php$color = "azul";echo "Mi coche es " . $color . "<br>";echo "Mi camisa es " . $COLOR . "<br>";echo "Mi cuaderno es " . $coLOR . "<br>";?>

</body></html>

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 13: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

Ejemplo

<?php$dia1=15;$dia2=30;echo "El valor de la primer variable es ";echo $dia1;echo "<br>";echo "El valor de la segunda variable es ";echo $dia2;

?>

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 14: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

Otro ejemplo

<?php$dia = date("d");if ($dia <= 15) {

echo "Sitio activo";} else {

echo "Sitio fuera de servicio";}?>

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 15: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

Otro ejemplo

<?php$dia = date("j");$mes = date("n");$year = date("Y");echo "Hoy es " . $dia . " del mes " .

$mes . " de " . $year?>

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 16: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

IntroduccionOtro ejemplo

<?php$num = rand(1, 100);echo $num;echo "<br>";if ($num <= 50) {

echo "El n&uacute;mero es menor o igual a 50.";} else {

echo "El n&uacute;mero es mayor a 50.";}

?>

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 17: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

Sobre el ejemplo

La funcion rand devuelve un valor aleatorio entre un rango dedos enteros:$num=rand(1,100);En la variable $num se almacena un valor entero que lacomputadora genera en forma aleatoria entre 1 y 100.Podemos encontrar mas informacion sobre rand enhttp://php.net/manual/es/function.rand.php

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 18: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

Funciones con variables locales

<?phpfunction prueba(){

$x = 5;echo "<p>La variable x dentro de la funci&oacute;n" .

"toma el valor: $x</p>";}prueba();

echo "<p>La variable x fuera de la funci&oacute;n" ."toma el valor : $x</p>";

?>

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 19: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

Funciones con variables globales

<?php$x = 5;$y = 10;function Prueba(){

global $x, $y;$y = $x + $y;

}Prueba();echo "<p> El valor obtenido es $y</p>";

?>

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 20: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

Algunos tipos de datosLa funcion var_dump() devuelve el tipo de dato y el valor de unavariable<?php

$x1 = "Hello world!";$x2 = 5985;$x3 = 10.365;$x4 = true;var_dump($x1);echo "<br>";var_dump($x2);echo "<br>";var_dump($x3);echo "<br>";var_dump($x4);

?>Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 21: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

Tipos de dato array

<?php$coches = array("Volvo", "BMW", "Toyota");echo "<br>";echo "<br>";echo "La posici&oacute;n 0 es $coches[0] <br>";echo "La posici&oacute;n 1 es $coches[1] <br>";echo "La posici&oacute;n 2 es $coches[2] <br>";

?>

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 22: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

Tipos de dato array

<?php$dia = date("j");$ds = date("w");$dias_cast = array(

"domingo", "lunes","martes", "mi&eacute;rcoles", "jueves","viernes", "s&aacute;bado"

);echo "Hoy es " . $dias_cast[$ds] . " " . $dia;

?>

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 23: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

Formularios HTML

Un formulario permite que el visitante al sitio cargue datos ysean enviados al servidor.HTML solo crea el formulario, la gestion de la informacion lahara el servidor, con lenguajes como PHP. La extension deeste fichero sera HTML, y hara una llamada a un fichero PHPenviandole los datos del usuario.Para crear un formulario debemos utilizar el elemento form,que tiene marca de comienzo y fin.<form propiedades > . . . </form>.Definimos dos propiedades (action y method):<form action="registrardatos.php" method= "post">

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 24: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

Formularios HTML

La propiedad action toma el valor del fichero que contiene elprograma que procesara los datos en el servidor. En este casoregistrardatos.php.La segunda propiedad a proporcionar es method. Estapropiedad puede almacenar dos valores: post o get.Normalmente un formulario se envıa mediante post (los datosse envıan en el cuerpo del formulario). Si se emplea get, losdatos se envıan en la cabecera de la peticion de la pagina.

• Utilizando el metodo get estamos limitados en lacantidad de datos a enviar, no ası con el metodo post.

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 25: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

Formularios HTML

Ahora veamos el cuadro de texto donde se escribe el nombre:Escriba su nombre:

<input type="text" name="nombre" size="20"><br>

El mensaje Escriba su nombre: es un texto fijo.El elemento <input> permite definir un cuadro de texto siasignamos a la propiedad type el valor text.El identificador nombre permitira a PHP recuperar lo quehaya escrito el usuario.size nos da el tamano del cuadro. En este caso 20 caracteres.No se limita la cantidad de caracteres a ingresar por parte delvisitante sino la cantidad de caracteres que se puedenvisualizar.

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 26: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

Formularios HTML

Seguidamente:<input type="submit" value="Enviar">Mediante el elemento <input> definimos un boton para elenvıo de datos al servidor.Para ello, debemos indicar type="submit", definiendolocomo un boton para el envıo de datos.La propiedad value almacena la etiqueta que aparece comotexto del boton.Finalmente cerramos el formulario: </form>.

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 27: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

Formulario HTML

<form action="registrardatos.php" method="post">Escriba su nombre:<input type="text" name="nombre" size="20"><br><input type="submit" value="Enviar">

</form>Al intentar enviar el nombre da error porque aun no hemos creadoregistrardatos.php.

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 28: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

Formulario HTML

El fichero registrardatos.php incluye el cuerpo:

<body>Hola <?php echo $_POST["nombre"]; ?> <br>Ahora conozco tu nombre.

</body>

Usamos $_POST["nombre"]; para recuperar el dato del usuarioidentificado con la etiqueta nombre.

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 29: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

PHP y MySQL

PHP 5 y posteriores se comunican con MySQL usando:MySQLiPDO (PHP Data Objects)

Nosotros usaremos el protocolo PDO.

Nota: existe una tercera opcion para conectar con MySQL, lalibrerıa de php mysql, pero se desaconseja su uso, entre otros, pormotivos de seguridad. Una excepcion a esto es si debemos usarversiones anteriores a PHP5, pues en las mismas no tenemosdisponibles las dos opciones sugeridas.

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 30: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

PHP y MySQL

El objetivo es tener una base de datos MySQL en un servidor, ypoder acceder a ella (para consultar y/o manipular datos) desdeotro ordenador mediante un navegador.

Para ello necesitamos conocer:• La base de datos a la que queremos hacer conexion,• un nombre de usuario con acceso a esa base de datos, y• su palabra clave (password).

Ademas necesitamos crear un formulario HTML que permitaal usuario (ajeno a MySQL) proporcionar los datos.PHP se encargara de enlazar MySQL con HTML.

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 31: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

PHP y MySQL

Para empezar, crearemos la base de datos prueba en MySQL eindicaremos que vamos a trabajar sobre ella.

CREATE DATABASE pruebaUSE prueba

A continuacion crearemos una tabla contactos con dos atributos:nombre y apellidos

CREATE TABLE contactos (nombre varchar(20),apellidos varchar(20),PRIMARY KEY (nombre, apellidos)

);

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 32: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

PHP y MySQL

Por otra parte necesitamos una pagina HTML con un formulariopara recoger los datos<form action="inserta1.php" method="post">

Escriba su nombre:<input type="text" name="nombre" size="20"><br>Escriba sus apellidos:<input type="text" name="apellidos" size="20"><br><input type="submit" value="Enviar">

</form>

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 33: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

PHP y MySQL

En enlace entre PHP y MySQL lo hace el fichero inserta1.php.Creamos un fichero con ese nombre y recuperamos la informacionintroducida por el usuario mediante las etiquetas nombre yapellidos.

$nom = $_POST['nombre'];$ape = $_POST['apellidos'];

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 34: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

PHP y MySQL

Creamos tres variables y guardamos en ella la informacion de labase de datos, del usuario y de la contrasena de acceso a Mysql:

$db = 'mysql:host=localhost;dbname=prueba;charset=utf8';$user = 'root';$pass = '';

A continuacion, creamos la conexion mediante el protocolo PDO

$conn = new PDO($db,$user,$pass);

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 35: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

PHP y MySQL

A continuacion, escribimos la sentencia MySQL que queremosejecutar y la guardamos en la variable $sql, por ejemplo

$sql = "INSERT INTO contactos VALUES (:n,:a)";

Como todavıa no conocemos los valores que debemos insertar(seran proporcionados por el usuario), escribimos marcadores deparametros, en este caso :n y :a. La sentencia SQL puedecontener cero o mas marcadores de parametros por los cuales losvalores reales seran sustituidos cuando la sentencia sea ejecutada.

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 36: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

PHP y MySQL

Lo siguiente es enlazar la consulta que hemos creado con laconexion a la base de datos. Para ello creamos una variable$consulta y usamos la funcion prepare. La sintaxis es lasiguiente

$consulta = $conn->prepare($sql);

Puedes encontrar mas informacion sobre la funcion prepare enhttp://php.net/manual/es/pdo.prepare.php

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 37: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

PHP y MySQL

Para terminar solo queda enlazar los marcadores :n y :a con losdatos proporcionados por el usuario, que habremos guardado en lasvariables $nom y $ape, validando su tipo:

$consulta->bindParam(':n',$nom,PDO::PARAM_STR);$consulta->bindParam(':a',$ape,PDO::PARAM_STR);

Finalmente, ejecutamos la consulta

$consulta->execute();

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 38: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

PHP y MySQL

Es muy importante cerrar la conexion cuando se ha realizado laconsulta. Esto se puede hacer con

$conn = null;

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 39: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

PHP y MySQL

El fichero inserta1.php queda por tanto:<?php

$nom = $_POST['nombre'];$ape = $_POST['apellidos'];$db = 'mysql:host=localhost;dbname=prueba;charset=utf8';$user = 'root';$pass = '';

$conn = new PDO($db,$user,$pass);$sql = "INSERT INTO contactos VALUES (:n,:a)";$consulta = $conn->prepare($sql);$consulta->bindParam(':n',$nom,PDO::PARAM_STR);$consulta->bindParam(':a',$ape,PDO::PARAM_STR);$consulta->execute();

$conn = null;echo "<strong> Dato insertado</strong>&nbsp;";

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 40: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

Consultas

Ademas de insertar datos, tambien podemos consultar la basede datos.En general, podemos hacer cualquier operacion demodificacion de la base de datos cambiando la sentencia SQLque enviamos a traves de PHP.Aunque no lo vemos en la asignatura, insistir en los protocolosde seguridad asociados al uso de PHP.

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 41: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

Consultas

<form action="inserta1.php" method="post">Escriba su nombre:<input type="text" name="nombre" size="20"><br>Escriba sus apellidos:<input type="text" name="apellidos" size="20"><br><input type="submit" value="Enviar datos">

</form>

<form action="consulta1.php" method="post"><input type="submit"

value="Consultar la Base de Datos"></form>

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 42: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

Consultas

<?php$db = 'mysql:host=localhost;dbname=prueba;charset=utf8';$user = 'root';$pass = '';

$conn = new PDO($db,$user,$pass);$sql = "SELECT * FROM contactos";foreach ($conn->query($sql) as $fila) {

echo "<strong>",$fila['nombre'],"</strong>&nbsp;";echo "<em>",$fila['apellidos'],"</em><br>";

}

$conn = null;echo "<br><strong>Consulta realizada</strong>&nbsp;";

?>

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP

Page 43: Introducción a PHP · ordenador solicitando la p´agina fichero.php. El servidor recibe el mensaje y al ver que la extension es “php” solicita al int´erprete de PHP (otro programa

Para saber mas

http://php.net/manual/es/index.phphttp://www.desarrolloweb.com/manuales/12/http://www.w3schools.com/php/http://www.phpya.com.ar/

Nota: estos son solamente algunos recursos utiles, pero seproporcionara mucho mas material a traves del sitio web de laasignatura. Ademas, otros temas introduciran conceptosadicionales, como el uso de los principios de AJAX, que cambiarala forma en que se envıan las peticiones o se plasman los resultadosdevueltos por PHP en las paginas llamantes.

Luis Valencia Cabrera ([email protected]) Bases de DatosIntroduccion a PHP