Logo

sábado, 5 de febrero de 2011

INICIO PHP y POSTGRESQL

Casi siempre he visto que cuando decidimos usar PHP casi siempre lo haremos interactuando con MySQL (Buen proyecto). Sin embargo es posible obtener un buen desempeño tambien con PostgreSQL.

Lo primero para lograr trabajar de buena forma con PostgreSQL y PHP es la correcta instalación de todo lo necesario.

  1. Instalar la última versión de PostgreSQL (Aca la instalación)
  2. Un servidor WEB que soporte PHP (Instalacion de PHP e Instalacion de  Apache)
  3. Asegurarse que PHP tenga soporte para PostgreSQL
 Para empezar probamos la interaccion entre la base de datos y el PHP

$createdb test

  • Luego grabamos el siguiente sdript de PostgreSQL en un archivo que se llame test.sql.

CREATE TABLE addressbook (id serial, name varchar(255), address text,
tel varchar(50), email varchar(255));
INSERT INTO addressbook values (nextval('addressbook_id_seq'), 'Bugs
Bunny', 'The Rabbit Hole, Looney Toons, USA', '123 4567',
'bugs@wascallywabbit.net');
INSERT INTO addressbook values (nextval('addressbook_id_seq'), 'Robin
Hood', 'Sherwood Forest', 'None', 'robin@steal.from.the.rich');
INSERT INTO addressbook values (nextval('addressbook_id_seq'), 'Sherlock
Holmes', '221B Baker Street, London 16550, England', '911 1822',
'holmes@bakerstreetirregulars.domain');




Ejecutamos el Script para popular la base de datos.

psql -d test -f test.sql



Para revisar nuestra base de datos ejecutamos:

$ psql -d test

Dentro de postgresql ejecutamos:
test=# SELECT COUNT(*) FROM addressbook;

La respuesta sera:
count
-------
3
(1 row)
test=#


  • Ahora escribiremos aca el codigo para un archivo .PHP que guardaremos en /var/www (En el caso de Debian) o en el directorio raiz del servidor web que se haya instalado.






// database access parameters
// alter this as per your configuration
$host = "localhost";
$user = "postgres";
$pass = "postgres";
$db = "test";
// open a connection to the database server
$connection = pg_connect ("host=$host dbname=$db user=$user
password=$pass");
if (!$connection)
{
die("Could not open connection to database server");
}
// generate and execute a query
$query = "SELECT * FROM addressbook";
$result = pg_query($connection, $query) or die("Error in query: $query.
" . pg_last_error($connection));
// get the number of rows in the resultset
$rows = pg_num_rows($result);
echo "There are currently $rows records in the database.";
// close database connection
pg_close($connection);
?>



  • Le respuesta sera:
There are currently 3 records in the database.

Ya tenemos trabajando nustro servidor Apache con soporte PHP y soporte para manejar el dervidor PostgreSQL.

Aquí esta un excelente "Primeros pasos"  Para netender el cono hacer las cosas basicas en ins base de datos PostgreSQL desde un Script PHP. http://www.devshed.com

Referencia

No hay comentarios:

Publicar un comentario