El documento trata sobre PHP y bases de datos MySQL. Explica dos métodos para conectarse a bases de datos MySQL desde PHP: PDO y MySQLi. PDO es una capa de abstracción que permite conectarse independientemente del motor de base de datos subyacente, mientras que MySQLi es específico para MySQL. Ambos permiten ejecutar consultas SQL de forma segura usando prepared statements para prevenir inyecciones SQL.
¿Qué son los patrones de diseño?. El patrón Singleton. El patrón Registry
El patrón Factory. El patrón Decorator
El patrón Observer. El patrón Front Controller.
El patrón MVC
Seguridad Web
Conceptos y buenas prácticas.
Ataques XSS
Ataques CSRF
Ataques SQL-injection
Ataques de sesión: Session riding
Inyección remota de código
¿Qué son los patrones de diseño?. El patrón Singleton. El patrón Registry
El patrón Factory. El patrón Decorator
El patrón Observer. El patrón Front Controller.
El patrón MVC
Seguridad Web
Conceptos y buenas prácticas.
Ataques XSS
Ataques CSRF
Ataques SQL-injection
Ataques de sesión: Session riding
Inyección remota de código
PHP es un lenguaje de scripting orientado al desarrollo de aplicaciones web. En una primera parte se explica los principios del lenguaje, algunas herramientas y un esbozo de una aplicación web escrita en PHP. En una segunda parte se presenta Symfony, un framework PHP que reúne las mejores prácticas de desarrollo de aplicaciones web.
PHP, una introducción a modo de presentación como tutorial básico llegando hasta clases y pasando por la conexión con una oferta de servicios web mediante protocolo SOAP con WSDL.
Documento Formativo de Symfony2 en el que explica desde qué es Symfony hasta los primeros pasos básicos: instalación, configuración, entidades, Twig, YAML...
CRUD básico con Symfony. Esta presentación es una continuación de lo contado en la II Symfony Zaragoza. Explica un ejemplo sencillo de un CRUD para mostrar como realizar modelos, controladores, vistas, formularios, etc.
Libro completo de desarrollo de aplicaciones web aplicando el lenguaje de programación PHP trabajando con el motor de base de datos MySQL.
Es una guía completa para aprender desde lo básico hasta un nivel avanzado.
PHP es un lenguaje de scripting orientado al desarrollo de aplicaciones web. En una primera parte se explica los principios del lenguaje, algunas herramientas y un esbozo de una aplicación web escrita en PHP. En una segunda parte se presenta Symfony, un framework PHP que reúne las mejores prácticas de desarrollo de aplicaciones web.
PHP, una introducción a modo de presentación como tutorial básico llegando hasta clases y pasando por la conexión con una oferta de servicios web mediante protocolo SOAP con WSDL.
Documento Formativo de Symfony2 en el que explica desde qué es Symfony hasta los primeros pasos básicos: instalación, configuración, entidades, Twig, YAML...
CRUD básico con Symfony. Esta presentación es una continuación de lo contado en la II Symfony Zaragoza. Explica un ejemplo sencillo de un CRUD para mostrar como realizar modelos, controladores, vistas, formularios, etc.
Libro completo de desarrollo de aplicaciones web aplicando el lenguaje de programación PHP trabajando con el motor de base de datos MySQL.
Es una guía completa para aprender desde lo básico hasta un nivel avanzado.
Topicos Avanzados - Sesion Nº 04. Aqui empieza la programación desde cero con php y a ver toda la potencialidad de este lenguaje de programacion web interpretado.
PDO: Capa de abstracción de base de datos con PHPArsys
Qué es PDO y primeros pasos para usar la capa de abstracción de bases de datos incorporada en PHP, que permite trabajar con una interfaz de alto nivel, independiente de la base de datos usada.
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaAMADO SALVADOR
Descubra el catálogo completo de buzones BTV, una marca líder en la fabricación de buzones y cajas fuertes para los sectores de ferretería, bricolaje y seguridad. Como distribuidor oficial de BTV, Amado Salvador se enorgullece de presentar esta amplia selección de productos diseñados para satisfacer las necesidades de seguridad y funcionalidad en cualquier entorno.
Descubra una variedad de buzones residenciales, comerciales y corporativos, cada uno construido con los más altos estándares de calidad y durabilidad. Desde modelos clásicos hasta diseños modernos, los buzones BTV ofrecen una combinación perfecta de estilo y resistencia, garantizando la protección de su correspondencia en todo momento.
Amado Salvador, se compromete a ofrecer productos de primera clase respaldados por un servicio excepcional al cliente. Como distribuidor oficial de BTV, entendemos la importancia de la seguridad y la tranquilidad para nuestros clientes. Por eso, trabajamos en colaboración con BTV para brindarle acceso a los mejores productos del mercado.
Explore el catálogo de buzones ahora y encuentre la solución perfecta para sus necesidades de correo y seguridad. Confíe en Amado Salvador y BTV para proporcionarle buzones de calidad excepcional que cumplan y superen sus expectativas.
KAWARU CONSULTING presenta el projecte amb l'objectiu de permetre als ciutadans realitzar tràmits administratius de manera telemàtica, des de qualsevol lloc i dispositiu, amb seguretat jurídica. Aquesta plataforma redueix els desplaçaments físics i el temps invertit en tràmits, ja que es pot fer tot en línia. A més, proporciona evidències de la correcta realització dels tràmits, garantint-ne la validesa davant d'un jutge si cal. Inicialment concebuda per al Ministeri de Justícia, la plataforma s'ha expandit per adaptar-se a diverses organitzacions i països, oferint una solució flexible i fàcil de desplegar.
Catalogo general Ariston Amado Salvador distribuidor oficial ValenciaAMADO SALVADOR
Distribuidor Oficial Ariston en Valencia: Amado Salvador distribuidor autorizado de Ariston, una marca líder en soluciones de calefacción y agua caliente sanitaria. Amado Salvador pone a tu disposición el catálogo completo de Ariston, encontrarás una amplia gama de productos diseñados para satisfacer las necesidades de hogares y empresas.
Calderas de condensación: Ofrecemos calderas de alta eficiencia energética que aprovechan al máximo el calor residual. Estas calderas Ariston son ideales para reducir el consumo de gas y minimizar las emisiones de CO2.
Bombas de calor: Las bombas de calor Ariston son una opción sostenible para la producción de agua caliente. Utilizan energía renovable del aire o el suelo para calentar el agua, lo que las convierte en una alternativa ecológica.
Termos eléctricos: Los termos eléctricos, como el modelo VELIS TECH DRY (sustito de los modelos Duo de Fleck), ofrecen diseño moderno y conectividad WIFI. Son ideales para hogares donde se necesita agua caliente de forma rápida y eficiente.
Aerotermia: Si buscas una solución aún más sostenible, considera la aerotermia. Esta tecnología extrae energía del aire exterior para calentar tu hogar y agua. Además, puede ser elegible para subvenciones locales.
Amado Salvador es el distribuidor oficial de Ariston en Valencia. Explora el catálogo y descubre cómo mejorar la comodidad y la eficiencia en tu hogar o negocio.
En este documento analizamos ciertos conceptos relacionados con la ficha 1 y 2. Y concluimos, dando el porque es importante desarrollar nuestras habilidades de pensamiento.
Sara Sofia Bedoya Montezuma.
9-1.
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor OficialAMADO SALVADOR
Explora el catálogo completo de cajas fuertes BTV, disponible a través de Amado Salvador, distribuidor oficial de BTV. Este catálogo presenta una amplia variedad de cajas fuertes, cada una diseñada con la más alta calidad para ofrecer la máxima seguridad y satisfacer las diversas necesidades de protección de nuestros clientes.
En Amado Salvador, como distribuidor oficial de BTV, ofrecemos productos que destacan por su innovación, durabilidad y robustez. Las cajas fuertes BTV son reconocidas por su eficiencia en la protección contra robos, incendios y otros riesgos, lo que las convierte en una opción ideal tanto para uso doméstico como comercial.
Amado Salvador, distribuidor oficial BTV, asegura que cada producto cumpla con los más estrictos estándares de calidad y seguridad. Al adquirir una caja fuerte a través de Amado Salvador, distribuidor oficial BTV, los clientes pueden tener la tranquilidad de que están obteniendo una solución confiable y duradera para la protección de sus pertenencias.
Este catálogo incluye detalles técnicos, características y opciones de personalización de cada modelo de caja fuerte BTV. Desde cajas fuertes empotrables hasta modelos de alta seguridad, Amado Salvador, como distribuidor oficial de BTV, tiene la solución perfecta para cualquier necesidad de seguridad. No pierdas la oportunidad de conocer todos los beneficios y características de las cajas fuertes BTV y protege lo que más valoras con la calidad y seguridad que solo BTV y Amado Salvador, distribuidor oficial BTV, pueden ofrecerte.
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Iniciación PHP 5. PHP y MySQL
1. Curso de Introducción a PHP 5
Tema 4: PHP 5 y MySQL
*POO = Programación Orientada a Objetos
1. PDO. PHP Data Objects
2. MySQLi
2. Curso de Introducción a PHP 5
Tema 4: PHP 5 y MySQL
*POO = Programación Orientada a Objetos
1. PDO. PHP Data Objects
2. MySQLi
3. Curso de Introducción a PHP 5
4.1. PDO. PHP Data Objects
Tema 4. PHP 5 y MySQL
PDO es una librería para conectarse a bases de datos.
PDO es una capa de abstracción de acceso a datos. No importa qué BD, siempre se
utilizan las mismas funciones.
PDO necesita tener instalado el driver específico de cada base de datos (pdo_mysql,
pdo_sqlite, pdo_odbc, ..)
PDO NO es una capa de abstración de acceso a base de datos (DBAL). No reescribe
código SQL ni simula propiedades no disponibles.
PDO está completamente orientado a objetos
4. Curso de Introducción a PHP 5
4.1. PDO. PHP Data Objects
Tema 4. PHP 5 y MySQL
Conectándonos a una base de datos (MySQL)
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
DNS
Conectándonos con “cuidado”
OPCIONALES
try {
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
} catch (PDOException $e) {
print "Imposible conectar con la BD: " . $e->getMessage();
die();
}
5. Curso de Introducción a PHP 5
4.1. PDO. PHP Data Objects
Tema 4. PHP 5 y MySQL
Cerrando la conexión con la base de datos
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
// Hacer algo
unset($dbh);
Ejecutando una petición SQL contra la base de datos (la mala manera)
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
foreach($dbh->query('SELECT * from FOO') as $row) {
print_r($row);
}
6. Curso de Introducción a PHP 5
4.1. PDO. PHP Data Objects
Tema 4. PHP 5 y MySQL
Cerrando la conexión con la base de datos
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
// Hacer algo
unset($dbh);
Ejecutando una petición SQL contra la base de datos (la mala manera)
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
foreach($dbh->query('SELECT * from FOO') as $row) {
print_r($row);
}
7. Curso de Introducción a PHP 5
4.1. PDO. PHP Data Objects
Tema 4. PHP 5 y MySQL
Prepared Staments. Plantillas SQL con parámetros
Ventajas de usar prepared statements:
1. La petición SQL sólo necesita ser analizada una única vez. Más rápido.
2. Más difícil ataques SQL-injection.
Tan importante que PDO emula esta característica incluso en aquellos motores de
bases de datos que no lo soportan.
API: http://www.php.net/manual/en/class.pdostatement.php
8. Curso de Introducción a PHP 5
4.1. PDO. PHP Data Objects
Tema 4. PHP 5 y MySQL
Prepared Statement sin parámetros
Prepared Statement con parámetros
$stmt = $dbh->prepare("SELECT * FROM FOO");
$stmt->exec();
$data = $stmt->fetchAll();
$name = 'one'; $value = 1;
$stmt = $dbh->prepare(
"INSERT INTO FOO (name, value) VALUES (:name, :value)"
);
$stmt->bindParam(':name', $name);
$stmt->bindParam(':value', $value);
$stmt->execute();
9. Curso de Introducción a PHP 5
4.1. PDO. PHP Data Objects
Tema 4. PHP 5 y MySQL
Las transacciones en las bases de datos tienen dos propósitos
1. Mantener la base de datos en un estado “coherente” en caso de fallo del sistema.
2. Ejecutar el proceso de manera aislada.
Un ejemplo de transacción: transacción bancaria. O todo. O nada.
A: Atomic. O todo o nada
C: Consistent. O No se violan las restricciones de integridad (foreign keys)
I: Isolated. Los datos son bloqueados
D: Durable. La información se guarda de manera persistente
10. Curso de Introducción a PHP 5
4.1. PDO. PHP Data Objects
Tema 4. PHP 5 y MySQL
Una transacción con PDO
try {
$dbh = new PDO('odbc:SAMPLE', $user, $pass);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbh->beginTransaction();
$dbh->exec("INSERT INTO FOO (bar) values ('bar')");
$dbh->commit();
} catch (Exception $e) {
$dbh->rollBack();
}
11. Curso de Introducción a PHP 5
4.1. PDO. PHP Data Objects
Tema 4. PHP 5 y MySQL
Más información sobre PDO en
http://www.php.net/manual/en/book.pdo.php
12. Curso de Introducción a PHP 5
Tema 4: PHP 5 y MySQL
*POO = Programación Orientada a Objetos
1. PDO. PHP Data Objects
2. MySQLi
13. Curso de Introducción a PHP 5
4.2. MySQLi
Tema 4. PHP 5 y MySQL
MySQLi es realmente MySQL Improved Extension.
Implementa funcionalidad para conectarse a bases de datos MySQL 4.1+
Versión POO de las funciones mysql_xxx();
14. Curso de Introducción a PHP 5
4.2. MySQLi
Tema 4. PHP 5 y MySQL
Conéctandonos a una base de datos
$mysqli = new mysqli("localhost", "user", "password", "db_name");
Comprobando el estado de la conexión
if ($mysqli->connect_errno()) {
printf("Error en la conexión: %sn", $mysqli->connect_err());
exit();
}
15. Curso de Introducción a PHP 5
4.2. MySQLi
Tema 4. PHP 5 y MySQL
Cerrando la conexión con una base de datos
$mysqli = new mysqli("localhost", "user", "password", "db_name");
$mysqli->close();
Ejecutando una petición contra la base de datos
$query = "SELECT * FROM Ciudad";
$result = $mysqli->query($query);
while($row = $result->fetch_array())
{
echo $row['codigo_ciudad'];
}
16. Curso de Introducción a PHP 5
4.2. MySQLi
Tema 4. PHP 5 y MySQL
Utilizando prepared staments
$sql = 'INSERT INTO tablename VALUES(?, ?)';
$stmt = $mysqli->stmt_init();
$stmt->prepare($sql);
$stmt->bind_param(“is”, 1, “test”);
$stmt->execute();
$stmt->close()
17. Curso de Introducción a PHP 5
4.2. MySQLi
Tema 4. PHP 5 y MySQL
Utilizando prepared staments
$sql = 'INSERT INTO tablename VALUES(?, ?)';
$stmt = $mysqli->stmt_init();
$stmt->prepare($sql);
$stmt->bind_param(“is”, 1, “test”);
$stmt->execute();
$stmt->close() i Integer
d Decimal
s String
b Blob
18. Curso de Introducción a PHP 5
4.2. MySQLi
Tema 4. PHP 5 y MySQL
MySQLi no soporta transacciones, en su lugar debemos confiar en COMMIT y
ROLLBACK de la base de datos.
MySQLi por defecto implementa auto-commit, despues de cualquier consulta de hace
automáticamente un COMMIT a la base de datos.
Para desactivar este comportamiento
$mysqli->autocommit(FALSE);
Para forzar COMMIT y ROLLBACK
$mysqli->commit();
$mysqli->rollback();
19. Curso de Introducción a PHP 5
4.2. MySQLi
Tema 4. PHP 5 y MySQL
Más información sobre MySQLi
http://es.php.net/manual/en/book.mysqli.php