0% encontró este documento útil (0 votos)
248 vistas

Tutorial PHP - PHP y PostgreSQL

Este documento proporciona un tutorial sobre cómo trabajar con PHP y bases de datos PostgreSQL. Incluye funciones para conectarse a la base de datos, insertar, modificar, borrar y listar registros. También muestra cómo crear tablas y procesar consultas SQL para manipular datos en la base de datos.

Cargado por

luis taco
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
248 vistas

Tutorial PHP - PHP y PostgreSQL

Este documento proporciona un tutorial sobre cómo trabajar con PHP y bases de datos PostgreSQL. Incluye funciones para conectarse a la base de datos, insertar, modificar, borrar y listar registros. También muestra cómo crear tablas y procesar consultas SQL para manipular datos en la base de datos.

Cargado por

luis taco
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 6

TUTORIAL PHP

Tutorial de PHP
PHP y PostgreSQL

(https://feeds.feedburner.com/inf
(https://www.youtube.com
(https://twitter.com/
(https://www
(https:
com)

Regístrate

Introduce tu E-Mail... Enviar >>

(https://informaticapc.com/blog/alojamiento- Tus datos no serán compartidos, solo nosotros te enviaremos información y novedades
web-para-tu-blog-o-tienda-online-esto-te-
interesa/)
(index.php) (bases-de-datos-mysql.php) (bases-de-datos-oracle.php) (co
INTRODUCCIÓN A PHP

El lenguaje PHP (index.php) PHP y PostgreSQL


¿Qué necesito? (index.php#xampp)
Veamos un ejemplo de cómo trabajar con bases de datos PostgreSQL, para ello en la base de datos tem
Incluir código PHP en una página tabla que utilizaremos en el ejemplo:
web (index.php#incluir)

Mostrar texto (index.php#mostrar) 01. create table tbl_personas (


Usamos cookies para ofrecerte una experiencia mejorada,
02. el id
continuar
integernavegando
not null supone que >aceptas
check (id 0), su uso
Comentarios
(index.php#comentarios) Cerrar 03.Más información
nombre varchar(50) not null,
04. primary key (id)
Operadores (index.php#operadores)
05. )
Control de Excepciones
(excepciones-funciones-
cabeceras.php)
NOTA: a día de hoy, la última versión disponible (PostgreSQL 9) no soporta unsigned, en su lugar po
Crear una función en PHP check.
(excepciones-funciones-
cabeceras.php#funciones)

Incluir código de otro archivo


(excepciones-funciones-
cabeceras.php#incluir)

Redirigir a otra página (excepciones-


funciones-cabeceras.php#redirigir)

Enviar encabezados (excepciones-


funciones-cabeceras.php#cabeceras)

Detener un script y controlar la


salida (excepciones-funciones-
cabeceras.php#exit)

TIPOS DE DATOS, VARIABLES, Creamos una función usando pg_connect() para conectar con PostgreSQL, y pg_last_error() que nos de
CONSTANTES Y ARRAYS error si se produjo alguno (lo detectamos con or die, que detendrá la ejecución):

Tipos de datos (tipos-de-datos-


variables-constantes.php) 01. <?php
02. function conectar_PostgreSQL( $usuario, $pass, $host, $bd )
Variables en PHP (tipos-de-datos-
variables-constantes.php#cvar) 03. {
04. $conexion = pg_connect( "user=".$usuario." ".
Comprobar si existe una variable
05. "password=".$pass." ".
(tipos-de-datos-variables-
06. "host=".$host." ".
constantes.php#existe)
07. "dbname=".$bd
Averiguar tipo de dato de una
08. ) or die( "Error al conectar: ".pg_last_error() );
variable (averiguar-y-convertir-tipo-
09.
de-dato.php)
10. return $conexion;
Cambiar el tipo de datos de una 11. }
variable (averiguar-y-convertir-tipo-
12. ?>
de-dato.php#convertir)

Pasar variables por referencia


(averiguar-y-convertir-tipo-de- Creamos otra función para borrar todos los registros de la tabla o sólo el especificado. Para procesar
dato.php#referencia) selección como de actualización) usaremos la función pg_query():
Constantes en PHP (averiguar-y-
convertir-tipo-de-
dato.php#constantes)

Crear un array en PHP (arrays.php)

Array asociativos
(arrays.php#asociativos)
Información y contenido de variables
y arrays (arrays.php#info)
01. <?php
02. function borrarPersona( $conexion, $id )
SENTENCIAS DE CONTROL
03. {

Estructuras o sentencias de control 04. $sql = "DELETE FROM tbl_personas";


(sentencias-de-control- 05.
condicionales.php) 06. // Si 'id' es diferente de 'null' sólo se borra la persona con el 'id' es

Estructuras de control Condicionales 07. if( $id != null )


o Selectivas (sentencias-de-control- 08. $sql .= " WHERE id=".$id;
condicionales.php) 09.
10. // Ejecutamos la consulta (se devolverá true o false):
Estructuras de control Repetitivas
(sentencias-de-control- 11. return pg_query( $conexion, $sql );
repetitivas.php) 12. }
13. ?>
TRATAMIENTO DE ARRAYS

Obtener el número de elementos de


Función para insertar un registro en la tabla:
un array (buscar-recorrer-array.php)

Recorrer un array (buscar-recorrer-


array.php#recorrer) 01. <?php
02. function insertarPersona( $conexion, $id, $nombre )
Buscar datos en un array (buscar-
03. {
recorrer-array.php#buscar)
04. $sql = "INSERT INTO tbl_personas VALUES (".$id.", '".$nombre."')";
Insertar elementos (buscar-recorrer- 05.
array.php#insertar)
06. // Ejecutamos la consulta (se devolverá true o false):
Borrar elementos en un array 07. return pg_query( $conexion, $sql );
Usamos
(buscar-recorrer-array.php#eliminar)
cookies para ofrecerte una experiencia mejorada,
08. el continuar
} navegando supone que aceptas su uso

Ordenar un array (ordenar-invertir- Cerrar 09.Más información


?>
array.php)

Invertir el orden de los elementos


Otra función para modificar un registro:
(ordenar-invertir-array.php#reverse)

Obtener las claves de un array


(ordenar-invertir-array.php#ak) 01. <?php
02. function modificarPersona( $conexion, $id, $nombre )
Comprobar si existe una clave en un
03. {
array asociativo (ordenar-invertir-
array.php#ake) 04. $sql = "UPDATE tbl_personas SET nombre='".$nombre."' WHERE id=".$id;
05.
Combinar los elementos de varios
06. // Ejecutamos la consulta (se devolverá true o false):
arrays (ordenar-invertir-
07. return pg_query( $conexion, $sql );
array.php#merge)
08. }
Extraer parte de un array (ordenar-
09. ?>
invertir-array.php#slice)

Comprobar diferencia entre arrays


(ordenar-invertir-array.php#diff) Creamos una función más para listar la tabla completa, en la cual utilizamos pg_num_rows() (devuelve
encontrados) y pg_fetch_object() (devuelve los valores de los campos en un Objeto de PHP):
Crear una cadena de texto a partir
de un array (ordenar-invertir-
array.php#acad)

Crear un array a partir de una


cadena (ordenar-invertir-
array.php#cadarr)

TRATAMIENTO DE CADENAS (I)

Cadenas de texto en PHP (cadenas-


de-caracteres.php)

Convertir mayúsculas y minúsculas


(cadenas-de-caracteres.php#mm)

Obtener la longitud de una cadena


(cadenas-de-
caracteres.php#longitud)

Concatenar o unir cadenas (cadenas-


de-caracteres.php#concatenar)

Convertir a cadena de caracteres


(cadenas-de-
caracteres.php#convertir)

Buscar una cadena dentro de otra


(cadenas-de-caracteres.php#buscar)

Reemplazar parte de una cadena


(extraer-reemplazar-caracteres.php)

Extraer parte de una cadena


(extraer-reemplazar-
caracteres.php#extraer)
Secuencias de escape (extraer-
reemplazar-
01. <?php
caracteres.php#especiales)
02. function listarPersonas( $conexion )
Escapar caracteres en una cadena de 03. {
texto (extraer-reemplazar- 04. $sql = "SELECT * FROM tbl_personas ORDER BY id";
caracteres.php#escapar)
05. $ok = true;
06.
TRATAMIENTO DE CADENAS (II)
07. // Ejecutar la consulta:

Limpiar código HTML (limpiar-texto- 08. $rs = pg_query( $conexion, $sql );


html.php) 09.
10. if( $rs )
Convertir entidades HTML en
caracteres HTML (limpiar-texto- 11. {
html.php#convertir) 12. // Obtener el número de filas:
13. if( pg_num_rows($rs) > 0 )
Convertir saltos de línea (limpiar-
texto-html.php#saltos) 14. {
15. echo "<p/>LISTADO DE PERSONAS<br/>";
Crear una cadena de texto a partir
16. echo "===================<p />";
de un array (limpiar-texto-
17.
html.php#creacad)
18. // Recorrer el resource y mostrar los datos:
Crear un array a partir de una
19. while( $obj = pg_fetch_object($rs) )
cadena (limpiar-texto-
20. echo $obj->id." - ".$obj->nombre."<br />";
html.php#crearr)
21. }
Eliminar espacios a principio y final 22. else
de una cadena (limpiar-texto-
23. echo "<p>No se encontraron personas</p>";
html.php#espacios)
24. }
Contar el número de palabras 25. else navegando supone que aceptas su uso
Usamos cookies para ofrecerte una experiencia mejorada, el continuar
(limpiar-texto-html.php#contar) 26. $ok = false;
Cerrar Más información
Repetir caracteres (repetir-invertir- 27.
cadena.php) 28. return $ok;
29. }
Rellenar una cadena (repetir-invertir-
30. ?>
cadena.php#rellenar)

Invertir una cadena (repetir-invertir-


cadena.php#invertir)
Por último, creamos una función que procesará una consulta y nos devolverá un Objeto en PHP con
Definir el número de caracteres por encontrado:
línea (repetir-invertir-
cadena.php#wordwrap)
01. <?php
Encriptar cadenas de texto (repetir-
02. function buscarPersona( $conexion, $id )
invertir-cadena.php#encriptar)
03. {
04. $sql = "SELECT * FROM tbl_personas WHERE id=".$id."";
TRATAMIENTO DE CADENAS (III)
05. $devolver = null;
Expresiones regulares en PHP 06.
(expresiones-regulares-buscar.php) 07. // Ejecutar la consulta:

Buscar texto con expresiones 08. $rs = pg_query( $conexion, $sql );

regulares - PCRE (expresiones- 09.


regulares-buscar.php#bcpre) 10. if( $rs )
11. {
Buscar texto con expresiones
regulares - POSIX (expresiones- 12. // Si se encontró el registro, se obtiene un objeto en PHP con los da
regulares-buscar.php#bposix) 13. if( pg_num_rows($rs) > 0 )
14. $devolver = pg_fetch_object( $rs, 0 );
Número veces que aparece una
cadena dentro de otra (PCRE) 15. }

(expresiones-regulares- 16.
buscar.php#veces) 17. return $devolver;
18. }
Ejemplos de búsquedas con
expresiones regulares PCRE y POSIX 19. ?>

(I) (expresiones-regulares-
buscar.php#ejemplos1)
A continuación, el código fuente principal del programa. Observa que debemos introducir los dato
Ejemplos de búsquedas con
contraseña, dirección IP y nombre de la base de datos) para conectar con PostgreSQL:
expresiones regulares PCRE y POSIX
(II) (expresiones-regulares-
buscar.php#ejemplos2)

Reemplazar texto usando


(./ejemplos/20_bbdd/03_php_postgresql.zip)
expresiones regulares (PCRE)
(expresiones-regulares-
También disponemos de la función pg_send_query() que permite enviar una consulta de forma asíncron
reemplazar.php)
varias a la vez e irlas obteniendo de una en una con pg_result().
Reemplazar texto usando
Vea también: [ Funciones de PostgreSQL (http://es.php.net/manual/es/ref.pgsql.php) ] - [ Configur
expresiones regulares (POSIX)
Bases de Datos (configurar.php#bbdd) ]
(expresiones-regulares-
reemplazar.php#rposix)
Vea también: [ pg_connect() (http://es.php.net/manual/es/function.pg-connect.php) ]
Ejemplo: eliminar espacios a (http://es.php.net/manual/es/function.pg-query.php) ] - [ pg_num_rows() (http://es.php.net/manu
principio y fin (PCRE) (expresiones- rows.php) ] - [ pg_fetch_object() (http://es.php.net/manual/es/function.pg-fetch-object.php)
regulares-reemplazar.php#ejere1) (http://es.php.net/manual/es/function.pg-close.php) ]
Ejemplo: eliminar espacios a Vea también: [ pg_send_query() (http://es.php.net/manual/es/function.pg-send-query.php)
principio y fin (POSIX) (expresiones- (http://es.php.net/manual/es/function.pg-get-result.php) ]
regulares-reemplazar.php#ejere2)

Expresiones regulares útiles (PCRE) Excepciones en conexión y consultas a PostgreSQL


(expresiones-regulares-
reemplazar.php#utiles)
La función de PHP pg_connect() devuelve false si ocurre un error, aunque puede resultar interesante
arrojará una excepción caso de producirse alguno:
TRATAMIENTO DE NÚMEROS

Comprobar si un valor es numérico 01. <?php


(numeros-y-matematicas.php)
02. function conectar_PostgreSQL( $usuario, $pass, $host, $bd )
Convertir a número (numeros-y- 03. {
matematicas.php#convertir) 04. $conexion = null;

Redondear números (numeros-y- 05.


matematicas.php#redondear) 06. try
07. {
Dar formato a un número (numeros-
08. $conexion = pg_connect( "user=".$usuario." ".
y-matematicas.php#formato)
09. "password=".$pass." ".
Funciones matemáticas (numeros-y- 10. "host=".$host." ".
matematicas.php#math)
11. "dbname=".$bd
12. );
TRATAMIENTO DE FECHAS
13.
Obtener fecha y hora (fechas.php) 14. if( $conexion == false )
15. throw new Exception( "Error PostgreSQL ".pg_last_error() );
Hora universal UTC o GMT
(fechas.php#utcgmt) 16. }
17. catch( Exception $e )
Comprobar si una fecha es válida
Usamos cookies para ofrecerte una experiencia mejorada,
18. el continuar
{ navegando supone que aceptas su uso
(fechas.php#comprobar)
19. throw $e;
Cerrar Más información
Sumar y restar fechas 20. }
(fechas.php#sumrest)
21.
Diferencia entre dos fechas 22. return $conexion;
(fechas.php#diferencia) 23. }
24. ?>
FORMULARIOS

Formularios en PHP
La siguiente función también nos resultará útil puesto que pg_query() tampoco devuelve una excepción, s
(formularios.php)

Consideraciones sobre la validación


de formularios (formularios.php) 01. <?php
02. function my_pg_query( $conexion=null, $sql )
Acceder a los datos de un formulario
03. {
(formularios.php#acceder)
04. $rs = @pg_query( $conexion, $sql );
Comprobar los campos requeridos
05.
(formularios.php#campos)
06. if( $rs == false )
Validar en PHP los datos recibidos de 07. throw new Exception( "Error PostgreSQL ".pg_last_error() );
un formulario (validar-
08.
formulario.php)
09. return $rs;

COOKIES EN PHP 10. }


11. ?>
Crear Cookies en PHP (cookies.php)

Comprobar si existe una Cookie


(cookies.php#comprobar) NOTA: La arroba @ se utiliza antes del nombre de una función para que no se muestren por pantalla me
(en caso de que se produzcan).
Comprobar si están activadas las
Cookies (cookies.php#activas) Vea también: [ Excepciones en PHP (http://es.php.net/throw) ] - [ Control de Excepciones en PHP (
cabeceras.php) ] - [ Exception (http://es.php.net/manual/es/class.exception.php) ]
Obtener el valor de una Cookie
(cookies.php#leer)
Convertir fecha para almacenarla en MySQL y PostgreSQL
Eliminar una Cookie
(cookies.php#eliminar)
Las fechas en MySQL y PostgreSQL se almacenan en formato yyyy-mm-dd así como también en formato U

SESIONES EN PHP Para convertir una cadena de texto en formato de fecha dd/mm/yyyy a yyyy-mm-dd podemos usar la sigu

Sesiones y variables de sesión en


PHP (variables-de-sesion.php)

Iniciar y eliminar una sesión (./ejemplos/20_bbdd/02_php_mysql_fecha_convertir.zip)


(variables-de-sesion.php#iniciar)
(index.php) (bases-de-datos-mysql.php) (bases-de-datos-oracle.php) (co
Crear y eliminar variables y arrays de
sesión (variables-de-
sesion.php#cvar)

Ejemplo de sesiones en PHP


(variables-de-sesion.php#ejemplo)

Propagar objetos en una sesión


(variables-de-sesion.php#objetos)
ARCHIVOS Y DIRECTORIOS

Archivos y carpetas en PHP (crear-


archivos.php)

Comprobar si existe un archivo o


directorio (crear-archivos.php)

Información sobre un archivo (crear-


archivos.php#info)

Crear, abrir y cerrar archivos (crear-


archivos.php#crear)

Desplazamiento dentro de un
archivo (crear-
archivos.php#desplazar)

Insertar texto en un archivo (crear-


archivos.php#insertar)

Leer y Recorrer archivos de texto


(archivos-csv-texto-delimitado.php)

Archivos de texto delimitado


(archivos-csv-texto-
delimitado.php#delimit)

Borrar líneas en un archivo de texto


(manejo-de-archivos.php)

Leer un archivo y enviarlo al


navegador web (manejo-de-
archivos.php#enviar)
Usamos cookies para ofrecerte una experiencia mejorada, el continuar navegando supone que aceptas su uso

Copiar, renombrar, mover y eliminar Cerrar Más información


archivos (manejo-de-
archivos.php#copiar)

Subir archivos al servidor (upload de


archivos) (manejo-de-
archivos.php#upload)

Comprimir y descomprimir archivos


(manejo-de-
archivos.php#comprimir)

Crear, renombrar, eliminar y cambiar


de directorio (manejo-de-
archivos.php#creardir)

Listar contenido de directorios


(manejo-de-archivos.php#listardir)

Otras funciones útiles sobre


directorios (manejo-de-
archivos.php#otrasdir)

PHP Y CORREO ELECTRÓNICO

Envío de correo electrónico en PHP


(enviar-email-correo-
electronico.php)

Enviar EMail como texto plano


(enviar-email-correo-
electronico.php)

Enviar EMail en formato HTML


(enviar-email-correo-
electronico.php#html)

Enviar archivos adjuntos por EMail


(enviar-email-correo-
electronico.php#adjuntos1)

Enviar un EMail usando PHPMailer


(enviar-email-correo-
electronico.php#phpmailer)

CLASES Y OBJETOS EN PHP

Programación Orientada a Objetos


en PHP (clases-objetos-herencia.php)

Crear Clases y Objetos (clases-


objetos-herencia.php#crear)

Herencia (clases-objetos-
herencia.php#herencia)

Interfaces (clases-objetos-
herencia.php#interface)
Acceder a miembros de Clases y
Objetos (interfaces-clases-abstractas-
serializar.php)

Crear una clase abstracta (interfaces-


clases-abstractas-
serializar.php#abstract)

Serializar Objetos en PHP (interfaces-


clases-abstractas-
serializar.php#serializar)

Métodos mágicos (metodos-


magicos.php)

Recorrer propiedades y métodos


(metodos-magicos.php#recorrer)

Crear un Objeto dinámicamente


(metodos-magicos.php#dinamicos)

Funciones de Clases y Objetos


(metodos-magicos.php#funciones)

PHP Y BASES DE DATOS

PHP y MySQL (bases-de-datos-


mysql.php)

Excepciones en conexión y consultas


a MySQL (bases-de-datos-
mysql.php#conectm)

Usamos cookies para


PHP y PostgreSQL ofrecerte una experiencia mejorada, el continuar navegando supone que aceptas su uso
(bases-de-datos-
postgresql.php)
Cerrar Más información
Excepciones en conexión y consultas
a PostgreSQL (bases-de-datos-
postgresql.php#conectm)

Convertir fecha para almacenarla en


MySQL y PostgreSQL (bases-de-
datos-postgresql.php#fechabd)

PHP y Oracle (bases-de-datos-


oracle.php)

Excepciones en conexión y consultas


a Oracle (bases-de-datos-
oracle.php#conectm)

CONFIGURAR PHP

El archivo de configuración
(configurar.php)

Modificar configuración en tiempo


de ejecución (configurar.php#modif)

Extensiones cargadas
(configurar.php#extens)

Cargar un archivo de configuración


personalizado (configurar.php#ini)

Mostrar y ocultar mensajes de error


(configurar.php#msg)

Configuración regional
(configurar.php#zona)

Configurar sesiones
(configurar.php#sesiones)

Configuración para subir archivos al


servidor (upload)
(configurar.php#upload)

Configurar envío de E-Mail


(configurar.php#mail)

Acceso a Bases de Datos


(configurar.php#bbdd)

Definir ruta para localizar archivos


(configurar.php#includes)

La mayor parte de los contenidos de esta web se encuentran registrados en la Propiedad


Intelectual y bajo licencia Creative Commons: puede distribuirlos, copiarlos y exhibirlos haciendo
clara referencia a esta web. No puede modificarlos ni obtener beneficio económico directo o
indirecto sin nuestro consentimiento.
(https://informaticapc.com/cookies-
y-
privacidad.php)

También podría gustarte