php con postgres desde windows

Como les había prometido, un pequeño curso en php con postgres desde windows. Empezaremos descargar nuestra principal herramienta para que php y postgres en windows puedan funcionar sin hacer ninguna modificación a algún archivo, todo grafico desde una simple ventana.


Descargaremos el *.exe desde la web de postgres link de descarga>> php con postgres desde windows. Luego de descargar lo ejecutamos e instalamos normal, mostrare algunas imágenes de la instalación: 





Name: postgres 
Passwd: el q tu quieras










Aqui seleccionas ApachePHP y phpPgAdmin.





Selecciona el servidor mirror que mejor te convengas, dependiendo de tu ubicación 










Luego de esta imagen que esta arriba aparecerán las opciones de instalar los paquetes que tu seleccionaste para tu uso




Fin de la instalacion!!!, ahora a trabajar con lo que nos interesa q es sobre este curso en php con postgres en windows

Abriremos la consola de windows(CMD), ejecutar >>CMD, y ubiquemos en la carpeta donde instalaron postgresql ,en mi caso yo instale en "C:\Archivos de programa\", luego nos ubicamos en "postgresql\bin"
q seria en C:\Archivos de programa\postgresql\bin.

Los  archivos que aparescan con *.exe en esta carpeta, les puede solicitar la ayuda para poder usarlos, 
ejemplo

POSTGRESQL EN WINDOWS
C:\Archivos de programa\postgresql\bin>createuser.exe --help
createuser crea un nuevo rol de PostgreSQL.

Empleo:
  createuser [OPCIÓN]... [ROL]

Opciones:
  -c, --connection-limit=N  límite de conexiones para el rol
                            (predeterminado: sin límite)
  -d, --createdb            el rol podrá crear bases de datos
  -D, --no-createdb         el rol no podrá crear bases de datos
  -e, --echo                mostrar las órdenes a medida que se ejecutan
  -E, --encrypted           almacenar la constraseña cifrada
  -i, --inherit             el rol heredará los privilegios de los roles
                            los cuales es miembro (predeterminado)
  -I, --no-inherit          rol no heredará privilegios
  -l, --login               el rol podrá conectarse (predeterminado)
  -L, --no-login            el rol no podrá conectarse
  -N, --unencrypted         almacenar la contraseña sin cifrar
  -P, --pwprompt            asignar una contraseña al nuevo rol
  -r, --createrole          el rol podrá crear otros roles
  -R, --no-createrole       el rol no podrá crear otros roles
  -s, --superuser           el rol será un superusuario
  -S, --no-superuser        el rol no será un superusuario
  --help                    desplegar esta ayuda y salir
  --version                 desplegar información de versión y salir

Opciones de conexión:
  -h, --host=ANFITRIÓN      nombre del servidor o directorio del socket
  -p, --port=PUERTO         puerto del servidor
  -U, --username=NOMBRE     nombre de usuario con el cual conectarse
                            (no el usuario a crear)
  -w, --no-password         nunca pedir contraseña
  -W, --password            forzar la petición de contraseña

Si no se especifican -d, -D, -r, -R, -s, -S o el ROL, se preguntará
interactivamente.

  Ahora a crear nuestro usuario para trabajar este curso php con postgres

 1. Crear usuario en la postgres
    C:\Archivos de programa\postgresql\bin>createuser -U postgres -P alfo  
     Enter password for new user:
     Enter it again:
     Shall the new user be allowed to create databases? (y/n) y
     Shall the new user be allowed to create more new users? (y/n) y
     Password:

2. Crear base de datos desde la consola windows, Base de datos "escuela"
    C:\Archivos de programa\postgresql\bin>createdb.exe -h 127.0.0.1  -U alfo  escuela
     Password:

3. Entrar a la DB creada, DB escuela 
    C:\Archivos de programa\postgresql\bin> psql.exe -d escuela -U postgres -W
   o puedes usar tu usuario creado
    C:\Archivos de programa\postgresql\bin> psql.exe -d escuela -U alfo -W
     escuela=#

4. Una vez adentro, podes ejecutar el comand de ayuda
    escuela=#\h

5. Para movernos de por varias DB, podemos usar el comando
    escuela=#\c tienda
     password:

     Ahora está conectado a la base de datos «tienda».
     tienda=#

Al crear una tabla, debemos de saber q tipo de registros vamos a usar, por ejemplo
si es solo nombre podemos usar char, si es numero numeric, si es combinacion de numero alphanumerico,
si queremos q se autoincremente usamos autoincrementent. 
Nota: En algunos lenguajes sql cambia la sintaxis, busquen los tipos de registros para postgresql

De este modo, para crear una tabla es necesario definir el tipo de información que se almacenara en cada columna. PgSQL posee varios tipos de datos, los más usados son:


    * VARCHAR(n) Almacena cadena de caracteres de longitud variable, de longitud máxima n.
    * CHAR(n). Almacena cadena de caracteres de longitud fija, de longitud n.
    * INTEGER. Almacena números enteros como 2,33,107,15228, etc.
    * NUMERIC. Almacena números enteros y decimales.
    * DATE, almacena fechas.
    * FLOAT: numérico con signo de doble palabra y coma flotante.
    * TEXT. Guarda textos largos.
    * SERIAL. Crea una secuencia y la asigna a una columna como llave de la tabla. 


Para crear una tabla se usa el comando “CREATE TABLE nombre_de_tabla”. Por ejemplo, vamos a crear la tabla empleados. Corte y pegue las siguientes lineas :

CREATE TABLE empleados (
id serial,                   --Indice de la tabla
nombre varchar(50),          --nombre del empleado
rfc varchar(20) UNIQUE,      --registro de hacienda del empleado
fechac date,                 --fecha de nacimiento del empleado
sucursal varchar(30),        --sucursal donde labora
sueldo money NOT NULL        --Sueldo
); 

Apliquemos lo antes visto

 6. Crear tablas en DB
   escuela=# create table profesores (
   Nombre char(20),apellido char(20),asignatura char(20), telefono numeric(8));

CREATE TABLE

7. Como puedo ver las tablas que tiene una base de datos??
   con el comando "\dt"
   ejemplo
   escuela=# \dt
   
           Listado de relaciones
 Schema |        Nombre        | Tipo  |  Dueño
--------+----------------------+-------+----------
 public | Profesores           | tabla | postgres
 public | alumnos              | tabla | postgres
 public | Mantenimiento        | tabla | postgres
 public | biblioteca           | tabla | postgres
 public | aranceles            | tabla | postgres


8. una vez creadas las tablas, podemos ver lo q tiene cada una de ellas en su registro
    escuela=# select * from profesores;
 
Nombre |   apellido   |   asignatura | telefono
-------+--------------+--------------+------------


9. Usando la sentencia 
   INSERT INTO tabla (columna1, columna2) VALUES ('valor uno', 'valor dos');  o podemos
   INSERT INTO tabla VALUES ('valor uno', 'valor dos');
   podemos insertar los registros en las tablas


escuela=# insert into profesores (nombre, apellido, telefono) values ('Juan Jose','Perez Soza','26563145');
INSERT 0 3

como ven en este ejemplo no hemos insertado asignatura, miramos la tabla y aparecera esto
escuela=# select * from profesores;

Nombre   |   apellido   |   asignatura | telefono
---------+--------------+--------------+------------
Juan Jose   Perez Soza                   26563145


Tambien podemos insertar registros sin omitir ningun campo
escuela=# INSERT INTO profesores VALUES ('Fred','Quarry ','fisico','25686945');
INSERT 0 4

miramos la tabla y aparecera esto
escuela=# select * from profesores;

Nombre   |   apellido   |   asignatura | telefono
---------+--------------+--------------+------------
Juan Jose   Perez Soza                   26563145
Fred       Quarry            fisico      25686945);

 PHP CON POSTGRES EN WINDOWS
10. Ahora nos iremos a nuestro server apache, en donde el directorio de www en mi caso se encuentra en "C:\AppServ\apache\www\" . 


Ahora crearemos un archivo en ese directorio con un click derecho >> Nuevo >> Documento Text
Lo renombraremos "conex.php" y lo abriremos con el "WORDPAD"



<?php
// conex.php
$user = 'alfo';
$passwd = '123456';
$db = 'escuela';
$port = 5432;
$host = '127.0.0.1';
$strCnx = "host=$host port=$port dbname=$db user=$user password=$passwd";
?>



Crearemos otro para hacer la consulta desde php con postgres
"consulta.php"

<?php
//


consulta.php

include "C:\AppServ\apache\www\conex.php"; 


$con = pg_connect ($strCnx) or die ("Error de conexion.". pg_last_error());

echo "conexion exitosa <hr>";
echo "curso en php con postgres en windows <hr>";

$resultado = pg_query($con, "SELECT * FROM profesores");
if (!$resultado) { 
                        echo "<b>Error de busqueda</b>"; 
                       exit;
                        }

$filas=pg_numrows($resultado); 
if ($filas==0) { 
                echo "No se encontro ningun registro\n"; exit;
               } 
                else
               {
               echo "<ul>";
                for($cont=0;$cont<$filas;$cont++)
                { 
                 $campo1=pg_result($resultado,$cont,0);
                 $campo2=pg_result($resultado,$cont,1);
                 $campo3=pg_result($resultado,$cont,2);
                 $campo4=pg_result($resultado,$cont,3);
             
                 echo " <li>$campo1 $campo2 $campo3 $campo4\n";
                }
               }
pg_FreeResult($resultado);
?>



Listo, verificar si apache esta corriendo!, abrimos un navegador y en la URL teipeamos


http://localhost/consulta.php


Pantalla del navegador


conexion exitosa


curso en php con postgres en windows

  • Juan Jose Perez Soza 26563145
  • Fred Quarry fisico 25686945



Espero que les sirva muchos este pequeño curso en php con postgres en windows, pronto publicare nuevos artículos, alguna duda déjenla en los comentario

1 comentario:

Anónimo dijo...

Hasta ahora no he encontrado una nueva herramienta genial para trabajar con PostgreSQL en win – Valentina Studio. Es la edición gratuita puede hacer las cosas más de las muchas herramientas comerciales!
¡Muy recomendable comprobarlo. http://www.valentina-db.com/en/valentina-studio-overview