4. PHP & databases
El treball de PHP amb bases de dades (BBDD) és un pilar fonamental en el desenvolupament web dinàmic. PHP va néixer estretament lligat a MySQL, però avui dia interactua de manera eficient amb pràcticament qualsevol sistema de gestió de bases de dades (DBMS), com PostgreSQL, SQLite, o SQL Server.
Extensions i Connexió
PHP proporciona diverses extensions per connectar-se a BDD, sent les més importants i utilitzades:
-
MySQLi (MySQL Improved): Una extensió orientada a objectes i funcional que és l'evolució de l'antic driver MySQL.
-
PDO (PHP Data Objects): Aquesta és l'opció més recomanada i versàtil. PDO no és un driver per a una base de dades específica, sinó una capa d'abstracció de dades que permet utilitzar el mateix codi per connectar-se a múltiples tipus de bases de dades.
PHP treballa amb bases de dades principalment mitjançant PDO (capa d'abstracció de dades) o MySQLi. La seguretat en la interacció amb la BDD es garanteix mitjançant l'ús de sentències preparades (Prepared Statements), que separen les dades de l'usuari de la lògica de la consulta SQL per prevenir atacs d'injecció SQL.
Introducció
Extensions i Connexió PHP proporciona diverses extensions per connectar-se a BDD, sent les més i...
Connexió BBDD
Seguretat
La seguretat en la interacció entre PHP i Bases de Dades (BDD) és crucial per protegir les aplica...
SQL Injection
És important veure com un atac d'Injecció SQL pot ser més destructiu que només retornar dades. Aq...
Sentències preparades
Les Sentències Preparades (Prepared Statements) són un mecanisme de seguretat i eficiència en bas...
Transaccions
Les Transaccions amb PDO permeten agrupar múltiples consultes SQL (insercions, actualitzacions, e...
Escapar caràcters maliciosos
Escapar caràcters maliciosos és una part essencial de la seguretat web, ja que neutralitza les da...
Crear una BBDD i una taula
Utilitzant els tres mètodes —MySQLi Orientat a Objectes (OO), MySQLi Procedural, i PDO—, el procé...
Manipulació dades
Select data
La realització de consultes SELECT segures amb clàusules WHERE i la implementació de paginació só...
Paginació
La paginació és un mecanisme essencial en el desenvolupament web i de bases de dades per dividir ...
Inserir dades
MySQLi Procedural Aquest mètode utilitza funcions prefixades amb mysqli_ i les marques de posici...
Inserir dades multiples
Podem utilitzar la funció multi_query (o mysqli_multi_query) amb MySQLi per executar múltiples se...
Delete data
Per eliminar un registre d'una taula, farem servir la sentència DELETE FROM de SQL. Igual que amb...
Update data
Per actualitzar un registre existent a una taula, s'utilitza la sentència UPDATE de SQL, especifi...