Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
SEMINARIO DE DQL CON PHP Y MYSQL
FUNDAMENTOS DE PHP
Fundamentos de PHP
¿QUÉ ES PHP? ¿PARA QUÉ SIRVE PHP?
• PHP es un lenguaje de código abierto muy popular, adecuado para desarrollo web y que
puede ser incrustado en HTML.
• PHP se utiliza para generar páginas web dinámicas.
• ¿Cómo trabaja PHP? El lenguaje PHP se procesa en servidores, que son potentes
ordenadores con un software y hardware especial. Cuando se escribe una dirección tipo
http://www.lagaceta.com/index.php
• El esquema es:
Páginas estáticas: Petición --> Respuesta
Páginas dinámicas: Petición --> Procesado y preparación --> Respuesta
Fundamentos de PHP
SINTAXIS
• De la misma forma que los documentos HTML están estructurado por tags
(etiquetas) , lo mismo sucede en php . De esta forma se puede combinar HTML +
código PHP.
• Los TAGS importantes son
Inicio de código PHP : <?php o <?
Fin de código PHP: ?>
• Las pautas dentro de php son:
Todas las operaciones deben de terminar con ; (punto y coma).
Los comentarios : se definen anteponiendo // o /* y se finaliza con */
Fundamentos de PHPEjemplo
En html seria:
<html>
<head><title>Texto de ejemplo </title></head>
<body><p> Esto es un Texto de Ejemplo </p></body>
</html>
En php seria:
<html>
<head><title>Texto de ejemplo </title></head>
<body><p>
<? echo “ Esto es un Texto de Ejemplo ?>
</p></body>
</html>
Fundamentos de PHPVARIABLES
• Integer: por ejemplo 1
• Double: por ejemplo 3.5
• Booleano: por ejemplo true
• String: por ejemplo “Esta es mi primera cadena en PHP”.
• Array: por ejemplo guardar varios valores en la misma variable.
• Object: para guardar objectos.
Ejemplo:
• $entero = 14;
• $decimal = 5.5;
• $booleano = true;
• $texto = "hello";
• $matriz = array(1,2,3);
• $objeto = (object) array(1,2,3);
Fundamentos de PHPCONSTANTES
• Las constantes son como variables permiten almacenar un valor, pero una vez definidos no se puede cambiar, normalmente se usan para inicializar datos de configuración, ejemplo contraseña de una base de datos.
// constante personalizada
define('BD_PASS', '123456');
// constante definida por defecto en PHP, ejemplo ruta del documento
echo __DIR__;
FUNCIONES
Las funciones son grupos de instrucciones independientes que tienen un propósito determinado, normalmente suelen venir acompañadas de parametros y suelen devolver un valor.
// imprime la fecha actual, ej. 14/09/2017
echo date("d/m/Y");
Fundamentos de PHPCLASES
• Una clase es un contenedor de propiedades y metodos, estas nos ayudan a crear objetos y a mantener un código limpio.
• Cuando creas un nuevo objeto de a partir de una clase por defecto se ejecuta un metodo llamado __construct que nos puede ayudar a definir las propiedades de este.
// creamos la clase Persona
class Persona{
public $nombre;
private $fecha_de_nacimiento;
function __construct($nombre, $fecha_de_nacimiento){
$this->nombre = $nombre;
$this->fecha_de_nacimiento = $fecha_de_nacimiento;
}
Fundamentos de PHPfunction getNombre(){
return $this->nombre;
}
function getFechaDeNacimiento(){
return $this->fecha_de_nacimiento;
}
function setFechaDeNacimiento($fecha_de_nacimiento){
$this->fecha_de_nacimiento = $fecha_de_nacimiento;
}
}
// creamos un nuevo objeto Persona
$persona1 = new Persona("miquel", "01/05/1980");
// cambiar nombre
$persona1->nombre = "Pedro";
Fundamentos de PHP// imprimir el nombre por pantalla
echo getNombre();
// cambiar la fecha de nacimiento
$persona1->setFechaDeNacimiento("02/04/1982");
// imprimir la fecha de nacimiento
echo $persona1->getFechaDeNacimiento();
Fundamentos de PHPCONDICIONALES
• Las sentencias condicionales nos ayudan a definir reglas para ejecutar un determinado código u otro.
• Si una de las condiciones se cumple se deja de leer el resto en caso contrario se comparará la siguiente regla o si no la hay directamente se irá al else.
// más largo, más legíble
if( $edad > 49 ){
echo "es muy mayor para entrar";
}else if( $edad > 17 ){
echo "mayor de edad";
else{
echo "menor de edad";
}
Fundamentos de PHPCONDICIONALES
• Con la condición switch al igual que if podemos definir varias reglas, la diferencia es que si no ponemos break dentro de cada caso si se cumple o no una regla se comprobará la siguiente regla y así sucesivamente.
switch( $semaforo ){
case 'rojo':
echo 'no puedes pasar';
break;
case 'verde':
echo 'si puedes pasar';
break;
default:
echo 'si anteriormente el color no ha sido rojo y verde, esta sería la opción por defecto ambar';
break;
}
Fundamentos de PHPBUCLES
• El bucle for nos sirve para hacer un bucle con un inicio y final definidos, por ejemplo contar de 1 a 10.
for( $i = 1; $i <= 10; $i++ ){
echo $i;
}
• El foreach nos ayuda a reccorrer los valores de una matriz (array).
$animales = array('perro', 'gato', 'vaca', 'pato');
foreach( $animales as $animal ){
echo $animal;
}
Fundamentos de PHPFUNCIONES RELACIONADAS CON VARIABLES
• gettype($variable) : nos permite obtener el tipo de una variable.
• settype($variable, tipo): nos permite asignarle el tipo a una variable.
• is_array($variable): nos devuelve TRUE si la variable es un array.
• isset($variable): nos devuelve TRUE si la variable es definida.
• unset($variable): detruye una variable y si fue destruida devuelve TRUE.
• is_null($variable): nos devuelve TRUE si es nulo.
Fundamentos de PHP
MySQLi o DOP
Tanto MySQLi y PDO tienen sus ventajas:
DOP trabajará en 12 sistemas de bases de datos diferentes, donde como MySQLi sólo funciona
con bases de datos MySQL.
Por lo tanto, si tienes que cambiar a otra base de datos, DOP hace que el proceso sea fácil. Sólo
hay que cambiar la cadena de conexión y algunas consultas.
Con MySQLi, tendrá que volver a escribir el código completo - consultas incluidas.
Ambos son orientado a objetos, pero MySQLi también ofrece una API de procedimiento.
Sentencias preparadas protegen de la inyección de SQL, y son muy importantes para la
seguridad de las aplicaciones web.
Fundamentos de PHPAbrir una conexión a MySQL
• Antes de poder acceder a los datos en la base de datos MySQL, tenemos que ser capaces de conectar con el servidor:
Ejemplo
• <?php
$servername = "localhost";
$username = "username";
$password = "password";
// Crear Conexion
$conn = new mysqli($servername, $username, $password);
// Chequear conexion
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>
Fundamentos de PHPConexión a MySQL(MySQLi Procedural)
Ejemplo
<?php
$servername = "localhost";
$username = "username";
$password = "password";
// Crear conexion
$conn = mysqli_connect($servername, $username, $password);
// Chequear conexion
if (!$conn) {
die(“Fallo de Conexion: " . mysqli_connect_error());
}
echo “Conexión Exitosa";
?>
Fundamentos de PHPConexión a MySQL(PDO)
Ejemplo
<?php
$servername = "localhost";
$username = "username";
$password = "password";
try {
$conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
// establece el modo de error PDO como excepción
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo “Conexión Exitosa";
}
catch(PDOException $e)
{ echo " Fallo de Conexion : " . $e->getMessage();
}
?>
Fundamentos de PHPPHP Seleccionar datos de MySQL (MySQL-i)
Ejemplo
<?php //previamente conectada la base de datos
$sql = "SELECT Dni, Nombre_M, Email FROM MIEMBRO";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) { // La salida de cada fila sera los datos cargados
while($row = mysqli_fetch_assoc($result)) {
echo “Dni: " . $row[“Dni"]. " - Nombre: " . $row[“Nombre_M"]. " - Correo
Electronico: " . $row[“Email"]. "<br>";
}
} else {
echo "0 results";
}
mysqli_close($conn);?>
Fundamentos de PHPPHP Seleccionar datos de MySQL (PDO)
Ejemplo
<?php //previamente conectada la base de datos
$sql = " SELECT Dni, Nombre_M, Email FROM MIEMBRO ";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo "<table><tr><th>DNI</th><th>Nombre</th><th>Correo Electronico</th></tr>";
// La salida de cada fila sera los datos cargados
while($row = $result->fetch_assoc()) {
echo "<tr><td>" .$row[“Dni"]."</td><td>".$row[“Nombre_M"]."
</td><td>".$row[“Email"]."</td></tr>";
} echo "</table>";
} else { echo "0 results";
}
$conn->close(); ?>