<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ca">
	<id>http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=PHP-PostgreSQL_Functions%3A_programaci%C3%B3_PHP._Procediments</id>
	<title>PHP-PostgreSQL Functions: programació PHP. Procediments - Historial de revisió</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=PHP-PostgreSQL_Functions%3A_programaci%C3%B3_PHP._Procediments"/>
	<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=PHP-PostgreSQL_Functions:_programaci%C3%B3_PHP._Procediments&amp;action=history"/>
	<updated>2026-08-30T10:17:20Z</updated>
	<subtitle>Historial de revisió per a aquesta pàgina del wiki</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>http://wiki.joanillo.org/index.php?title=PHP-PostgreSQL_Functions:_programaci%C3%B3_PHP._Procediments&amp;diff=248872&amp;oldid=prev</id>
		<title>Joan: /* proc4.php: paràmetres d'entrada i de sortida */</title>
		<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=PHP-PostgreSQL_Functions:_programaci%C3%B3_PHP._Procediments&amp;diff=248872&amp;oldid=prev"/>
		<updated>2012-02-15T15:09:28Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;proc4.php: paràmetres d&amp;#039;entrada i de sortida&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Pàgina nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Funcions de la llibreria PostgreSQL per a PHP:&lt;br /&gt;
&lt;br /&gt;
http://es.php.net/manual/en/ref.pgsql.php&lt;br /&gt;
&lt;br /&gt;
==objectiu==&lt;br /&gt;
Igual que hem fet amb Oracle, en aquests exercicis mostrarem les operacions bàsiques per accedir a la base de dades PostgreSQL, posant especial ènfasi en l'execució de procediments i passar paràmetres i rebre informació d'aquests procediments. Aquests exercicis estan testejats sobre Ubuntu.&lt;br /&gt;
&lt;br /&gt;
Primer de tot preparem la base de dades sobre la que treballarem:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ psql -h localhost -p 5432 -U postgres postgres&lt;br /&gt;
postgres# CREATE DATABASE empleat ENCODING 'UTF-8';&lt;br /&gt;
postgres=# CREATE USER profe WITH ENCRYPTED PASSWORD 'profe';&lt;br /&gt;
postgres=# grant all privileges on database empleat to profe;&lt;br /&gt;
postgres=# \q&lt;br /&gt;
$ psql -h localhost -p 5432 -U postgres empleat&lt;br /&gt;
empleat=# CREATE LANGUAGE plpgsql;&lt;br /&gt;
postgres=# \q&lt;br /&gt;
$ psql -h localhost -p 5432 -U profe empleat&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En el servidor, el codi està a /var/www/ec/empleat/postgresql, i puc accedir al codi des de la direcció &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://192.168.0.10/ec/empleat/postgresql/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Això està configurat en el Apache (/etc/apache2/sites-available/default)&lt;br /&gt;
&lt;br /&gt;
==dades que utilitzem==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CREATE TABLE empleat (&lt;br /&gt;
    id_empleat integer PRIMARY KEY,&lt;br /&gt;
    nom varchar(25) NOT NULL,&lt;br /&gt;
    cognom varchar(25) NOT NULL,&lt;br /&gt;
    funcio varchar(25),&lt;br /&gt;
    mail varchar(25),&lt;br /&gt;
    sexe char(1)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
INSERT INTO empleat VALUES (2, 'Maria', 'Cirera', 'Administrador Sistemes', 'mcirera@jbalmes.net', 'D');&lt;br /&gt;
INSERT INTO empleat VALUES (3, 'Carme', 'Puig', 'Administrador Sistemes', 'cpuig@jbalmes.net', 'D');&lt;br /&gt;
INSERT INTO empleat VALUES (4, 'Joan', 'Pujol', 'Programador Java', 'jpujol@jbalmes.net', 'H');&lt;br /&gt;
INSERT INTO empleat VALUES (5, 'Rita', 'Vilarmau', 'Programador VB.NET', 'rvilarmau@jbalmes.net', 'D');&lt;br /&gt;
INSERT INTO empleat VALUES (6, 'Anna', 'Puigdollers', 'Programador Web', 'apuigdollers@jbalmes.net', 'D');&lt;br /&gt;
INSERT INTO empleat VALUES (7, 'Marta', 'Barceló', 'Programador Web', 'mbarcelo@jbalmes.net', 'D');&lt;br /&gt;
INSERT INTO empleat VALUES (9, 'Núria', 'Perelló', 'Dissenyador web', 'nperello@jbalmes.net', 'D');&lt;br /&gt;
INSERT INTO empleat VALUES (10, 'Guillem', 'Raspall', 'HelpDesk', 'graspall@jbalmes.net', 'H');&lt;br /&gt;
INSERT INTO empleat VALUES (11, 'Esteve', 'Llorens', 'HelpDesk', 'ellorens@jbalmes.net', 'H');&lt;br /&gt;
INSERT INTO empleat VALUES (12, 'Raimon', 'Compte', 'Administratiu', 'rcompte@jbalmes.net', 'H');&lt;br /&gt;
INSERT INTO empleat VALUES (13, 'Josep', 'Vicenç', 'Administratiu', 'jvicenc@jbalmes.net', 'H');&lt;br /&gt;
INSERT INTO empleat VALUES (14, 'Toni', 'Cirici', 'Comercial', 'tcirici@jbalmes.net', 'H');&lt;br /&gt;
INSERT INTO empleat VALUES (15, 'Claudi', 'Pellicer', 'Comercial', 'cpellicer@jbalmes.net', 'H');&lt;br /&gt;
INSERT INTO empleat VALUES (16, 'Raquel', 'Valldemossa', 'Directiu', 'rvalldemossa@jbalmes.net', 'D');&lt;br /&gt;
INSERT INTO empleat VALUES (17, 'Bruna', 'E.', 'Directiu', 'bruna_e@jbalmes.net', 'D');&lt;br /&gt;
INSERT INTO empleat VALUES (18, 'Clara', 'D.', 'Directiu', 'clara_d@jbalmes.net', 'D');&lt;br /&gt;
INSERT INTO empleat VALUES (19, 'Marieta', 'C.', 'Directiu', 'marieta_c@jbalmes.net', 'D');&lt;br /&gt;
INSERT INTO empleat VALUES (20, 'M. Carme', 'B.', 'Directiu', 'carme_b@jbalmes.net', 'D');&lt;br /&gt;
INSERT INTO empleat VALUES (21, 'M. Assumpta', 'A.', 'Administrador Sistemes', 'assumpta_a@jbalmes.net', 'D');&lt;br /&gt;
INSERT INTO empleat VALUES (22, 'Queralt', 'Z.', 'Administrador Sistemes', 'queralt_z@jbalmes.net', 'D');&lt;br /&gt;
INSERT INTO empleat VALUES (23, 'Núria', 'Y.', 'Administrador Sistemes', 'nuria_y@jbalmes.net', 'D');&lt;br /&gt;
INSERT INTO empleat VALUES (24, 'Patrícia', 'X.', 'Administrador Sistemes', 'patricia_x@jbalmes.net', 'D');&lt;br /&gt;
INSERT INTO empleat VALUES (25, 'Sumpta', 'W.', 'Administrador Sistemes', 'sumpta_w@jbalmes.net', 'D');&lt;br /&gt;
INSERT INTO empleat VALUES (26, 'Clara', 'V.', 'Administrador Sistemes', 'clara_v@jbalmes.net', 'D');&lt;br /&gt;
INSERT INTO empleat VALUES (27, 'Quim', 'U.', 'Administrador Sistemes', 'quim_u@jbalmes.net', 'H');&lt;br /&gt;
INSERT INTO empleat VALUES (28, 'Quimet', 'T.', 'Administrador Sistemes', 'quimet_t@jbalmes.net', 'H');&lt;br /&gt;
INSERT INTO empleat VALUES (29, 'Xavi', 'S.', 'Programador Java', 'xavi_s@jbalmes.net', 'H');&lt;br /&gt;
INSERT INTO empleat VALUES (30, 'Xavier', 'R.', 'Programador Java', 'xavier_r@jbalmes.net', 'H');&lt;br /&gt;
INSERT INTO empleat VALUES (31, 'Roc', 'Q.', 'Programador Java', 'roc_q@jbalmes.net', 'H');&lt;br /&gt;
INSERT INTO empleat VALUES (32, 'Pere', 'P.', 'Programador Java', 'pere_p@jbalmes.net', 'H');&lt;br /&gt;
INSERT INTO empleat VALUES (33, 'Perot', 'O.', 'Programador Java', 'perot_o@jbalmes.net', 'H');&lt;br /&gt;
INSERT INTO empleat VALUES (34, 'Galdrich', 'N.', 'Programador VB.NET', 'galdrich_n@jbalmes.net', 'H');&lt;br /&gt;
INSERT INTO empleat VALUES (35, 'Guifré', 'M.', 'Programador VB.NET', 'guifre_m@jbalmes.net', 'H');&lt;br /&gt;
INSERT INTO empleat VALUES (36, 'Jofre', 'L.', 'Programador VB.NET', 'jofre_l@jbalmes.net', 'H');&lt;br /&gt;
INSERT INTO empleat VALUES (37, 'Tomeu', 'K.', 'Programador VB.NET', 'tomeu_k@jbalmes.net', 'H');&lt;br /&gt;
INSERT INTO empleat VALUES (38, 'Tomàs', 'J.', 'Programador VB.NET', 'tomas_j@jbalmes.net', 'H');&lt;br /&gt;
INSERT INTO empleat VALUES (39, 'Tània', 'I.', 'Dissenyador web', 'tania_i@jbalmes.net', 'D');&lt;br /&gt;
INSERT INTO empleat VALUES (40, 'Guim', 'H.', 'Dissenyador web', 'guim_h@jbalmes.net', 'H');&lt;br /&gt;
INSERT INTO empleat VALUES (41, 'Andreu', 'G.', 'Dissenyador web', 'andreu_g@jbalmes.net', 'H');&lt;br /&gt;
INSERT INTO empleat VALUES (42, 'Santi', 'F.', 'Dissenyador web', 'santi_f@jbalmes.net', 'H');&lt;br /&gt;
INSERT INTO empleat VALUES (43, 'Santiago', 'E.', 'Dissenyador web', 'santiago_e@jbalmes.net', 'H');&lt;br /&gt;
INSERT INTO empleat VALUES (44, 'Jaume', 'D.', 'HelpDesk', 'jaume_d@jbalmes.net', 'H');&lt;br /&gt;
INSERT INTO empleat VALUES (45, 'Ramon', 'C.', 'HelpDesk', 'ramon_c@jbalmes.net', 'H');&lt;br /&gt;
INSERT INTO empleat VALUES (46, 'Llorenç', 'B.', 'Comercial', 'llorenc_b@jbalmes.net', 'H');&lt;br /&gt;
INSERT INTO empleat VALUES (47, 'Esteve', 'A.', 'Comercial', 'esteve_a@jbalmes.net', 'H');&lt;br /&gt;
INSERT INTO empleat VALUES (1, 'Pere', 'Batista', 'Administrador Sistemes', 'pbatista@jbalmes.net', 'H');&lt;br /&gt;
INSERT INTO empleat VALUES (8, 'Jordi', 'Basses', 'Dissenyador web', 'jbasses@jbalmes.net', 'H');&lt;br /&gt;
&lt;br /&gt;
COMMIT;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==fer una select bàsica: recordset.php==&lt;br /&gt;
Per obtenir la informació d'una consulta (SELECT) hi ha diverses funcions que poden ser útils: ''pg_fetch_all'', ''pg_fetch_array'', ''pg_fetch_row''.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$result = pg_query($conn, $query);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Amb ''pg_query'' executem la query, pròpiament dit, i amb la funció ''pg_fetch_all'' omplim la matriu ''$arr'', que és una matriu amb tantes columnes com té la SELECT, i amb tantes files com retorna la select.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
header(&amp;quot;Content-Type: text/html; charset=utf-8&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//postgresql connection variables&lt;br /&gt;
$pg_user = 	'postgres';	//username&lt;br /&gt;
$pg_pass =	'postgres';			//user password&lt;br /&gt;
$pg_host =	'localhost';		//host name or server ip address&lt;br /&gt;
$pg_db   = 	'postgres';	//database name&lt;br /&gt;
&lt;br /&gt;
$conn_string = &amp;quot;host=$pg_host port=5432 dbname=$pg_db user=$pg_user password=$pg_pass&amp;quot;;&lt;br /&gt;
$conn = pg_connect($conn_string) or die('connection failed');;&lt;br /&gt;
&lt;br /&gt;
if (!$conn) {&lt;br /&gt;
  echo &amp;quot;Hi ha hagut un error en la connexió.\n&amp;quot;;&lt;br /&gt;
  exit;&lt;br /&gt;
}&lt;br /&gt;
	echo &amp;quot;Mostrem una llista de tots els empleats&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
	echo &amp;quot;=======================================&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	$query = &amp;quot;select * from empleat order by id_empleat&amp;quot;;&lt;br /&gt;
	$result = pg_query($conn, $query);&lt;br /&gt;
	if (!$result) {&lt;br /&gt;
	  echo &amp;quot;Hi ha hagut un error en fer la query\n&amp;quot;;&lt;br /&gt;
	  exit;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	$arr = pg_fetch_all($result);&lt;br /&gt;
&lt;br /&gt;
	echo &amp;quot;&amp;lt;p&amp;gt;la funció var_dump volca el contingut d'una matriu a pantalla:&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
	var_dump($arr);	&lt;br /&gt;
&lt;br /&gt;
	echo &amp;quot;&amp;lt;p&amp;gt;Ara mostrem les dades en un format més comprensible (i amb un codi molt reduït!):&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	echo '&amp;lt;table&amp;gt;';&lt;br /&gt;
	while($row=pg_fetch_assoc($result)) echo '&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;'.join('&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;',$row).'&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;';&lt;br /&gt;
	echo '&amp;lt;/table&amp;gt;';&lt;br /&gt;
&lt;br /&gt;
	pg_close($conn); //de fet, no cal&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==proc1.php: execució bàsica d'un procediment==&lt;br /&gt;
Fixem-nos que aquest procediment és molt tonto... la segona vegada que s'executi donarà un error de clau primària.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CREATE OR REPLACE FUNCTION inserir_empleat() RETURNS void AS $$&lt;br /&gt;
BEGIN&lt;br /&gt;
INSERT INTO EMPLEAT(id_empleat,nom,cognom) VALUES(50,'Pere','Poma');&lt;br /&gt;
RETURN;&lt;br /&gt;
END;&lt;br /&gt;
$$ LANGUAGE plpgsql;&lt;br /&gt;
&lt;br /&gt;
per executar el procediment:&lt;br /&gt;
select inserir_empleat();&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fitxer '''proc1.php''':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
header(&amp;quot;Content-Type: text/html; charset=utf-8&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// CREATE OR REPLACE FUNCTION inserir_empleat() RETURNS void AS $$&lt;br /&gt;
// BEGIN&lt;br /&gt;
// INSERT INTO EMPLEAT(id_empleat,nom,cognom) VALUES(50,'Pere','Poma');&lt;br /&gt;
// RETURN;&lt;br /&gt;
// END;&lt;br /&gt;
// $$ LANGUAGE plpgsql;&lt;br /&gt;
&lt;br /&gt;
//postgresql connection variables&lt;br /&gt;
$pg_user = 	'profe';	//username&lt;br /&gt;
$pg_pass =	'profe';			//user password&lt;br /&gt;
$pg_host =	'localhost';		//host name or server ip address&lt;br /&gt;
$pg_db   = 	'empleat';	//database name&lt;br /&gt;
&lt;br /&gt;
$conn_string = &amp;quot;host=$pg_host port=5432 dbname=$pg_db user=$pg_user password=$pg_pass&amp;quot;;&lt;br /&gt;
$conn = pg_connect($conn_string) or die('connection failed');;&lt;br /&gt;
&lt;br /&gt;
if (!$conn) {&lt;br /&gt;
	echo &amp;quot;Hi ha hagut un error en la connexió.\n&amp;quot;;&lt;br /&gt;
	exit;&lt;br /&gt;
} else {&lt;br /&gt;
&lt;br /&gt;
	$query = &amp;quot;SELECT inserir_empleat()&amp;quot;;&lt;br /&gt;
	$result = pg_query($conn, $query);&lt;br /&gt;
	if (!$result) {&lt;br /&gt;
	  echo &amp;quot;An error occured.\n&amp;quot;;&lt;br /&gt;
	  exit;&lt;br /&gt;
	}&lt;br /&gt;
	echo &amp;quot;S'ha afegit l'empleat Pere Poma&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
pg_close($conn);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==proc2.php: passar paràmetres d'entrada==&lt;br /&gt;
El primer que farem per no tenir problemes amb les claus primàries és crear una seqüència:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CREATE SEQUENCE empleat_seq&lt;br /&gt;
 START WITH     100&lt;br /&gt;
 INCREMENT BY   1;&lt;br /&gt;
&lt;br /&gt;
select nextval('empleat_seq');&lt;br /&gt;
select currval('empleat_seq');&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Fixem-nos que ara amb la sentència&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$query = &amp;quot;SELECT inserir_empleat2('Maria','Batllori')&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja estic parametritzant el valor que introdueixo a la base de dades, però estic introduint sempre el mateix valor.&lt;br /&gt;
&lt;br /&gt;
Fitxer '''proc2.php''':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
header(&amp;quot;Content-Type: text/html; charset=utf-8&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// CREATE OR REPLACE FUNCTION inserir_empleat2(vnom varchar, vcognom varchar) RETURNS void AS $$&lt;br /&gt;
// BEGIN&lt;br /&gt;
// INSERT INTO EMPLEAT(id_empleat,nom,cognom) VALUES(nextval('empleat_seq'),vnom,vcognom);&lt;br /&gt;
// RETURN;&lt;br /&gt;
// END;&lt;br /&gt;
// $$ LANGUAGE plpgsql;&lt;br /&gt;
&lt;br /&gt;
//postgresql connection variables&lt;br /&gt;
$pg_user = 	'profe';	//username&lt;br /&gt;
$pg_pass =	'profe';			//user password&lt;br /&gt;
$pg_host =	'localhost';		//host name or server ip address&lt;br /&gt;
$pg_db   = 	'empleat';	//database name&lt;br /&gt;
&lt;br /&gt;
$conn_string = &amp;quot;host=$pg_host port=5432 dbname=$pg_db user=$pg_user password=$pg_pass&amp;quot;;&lt;br /&gt;
$conn = pg_connect($conn_string) or die('connection failed');;&lt;br /&gt;
&lt;br /&gt;
if (!$conn) {&lt;br /&gt;
	echo &amp;quot;Hi ha hagut un error en la connexió.\n&amp;quot;;&lt;br /&gt;
	exit;&lt;br /&gt;
} else {&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	$query = &amp;quot;SELECT inserir_empleat2('Maria','Batllori')&amp;quot;;&lt;br /&gt;
	$result = pg_query($conn, $query);&lt;br /&gt;
	if (!$result) {&lt;br /&gt;
	  echo &amp;quot;An error occured.\n&amp;quot;;&lt;br /&gt;
	  exit;&lt;br /&gt;
	}&lt;br /&gt;
	echo &amp;quot;S'ha afegit l'empleada Maria Batllori&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
pg_close($conn);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==proc3.php: passant paràmetres des d'una variable PHP==&lt;br /&gt;
La novetat rau en el següent codi:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$vnom='Jordi';&lt;br /&gt;
$vcognom='Martínez';&lt;br /&gt;
&lt;br /&gt;
$query = &amp;quot;SELECT inserir_empleat2('$vnom','$vcognom')&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fitxer '''proc3.php''':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
header(&amp;quot;Content-Type: text/html; charset=utf-8&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// CREATE OR REPLACE FUNCTION inserir_empleat2(vnom varchar, vcognom varchar) RETURNS void AS $$&lt;br /&gt;
// BEGIN&lt;br /&gt;
// INSERT INTO EMPLEAT(id_empleat,nom,cognom) VALUES(nextval('empleat_seq'),vnom,vcognom);&lt;br /&gt;
// RETURN;&lt;br /&gt;
// END;&lt;br /&gt;
// $$ LANGUAGE plpgsql;&lt;br /&gt;
&lt;br /&gt;
//postgresql connection variables&lt;br /&gt;
$pg_user = 	'profe';	//username&lt;br /&gt;
$pg_pass =	'profe';			//user password&lt;br /&gt;
$pg_host =	'localhost';		//host name or server ip address&lt;br /&gt;
$pg_db   = 	'empleat';	//database name&lt;br /&gt;
&lt;br /&gt;
$vnom='Jordi';&lt;br /&gt;
$vcognom='Martínez';&lt;br /&gt;
&lt;br /&gt;
$conn_string = &amp;quot;host=$pg_host port=5432 dbname=$pg_db user=$pg_user password=$pg_pass&amp;quot;;&lt;br /&gt;
$conn = pg_connect($conn_string) or die('connection failed');;&lt;br /&gt;
&lt;br /&gt;
if (!$conn) {&lt;br /&gt;
	echo &amp;quot;Hi ha hagut un error en la connexió.\n&amp;quot;;&lt;br /&gt;
	exit;&lt;br /&gt;
} else {&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	$query = &amp;quot;SELECT inserir_empleat2('$vnom','$vcognom')&amp;quot;;&lt;br /&gt;
	$result = pg_query($conn, $query);&lt;br /&gt;
	if (!$result) {&lt;br /&gt;
	  echo &amp;quot;An error occured.\n&amp;quot;;&lt;br /&gt;
	  exit;&lt;br /&gt;
	}&lt;br /&gt;
	echo &amp;quot;S'ha afegit l'empleat $vnom $vcognom&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
pg_close($conn);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==proc4.php: paràmetres d'entrada i de sortida==&lt;br /&gt;
Fixem-nos en el següent exemple:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CREATE FUNCTION sum_n_product (x int, y int, OUT sum int, OUT product int)&lt;br /&gt;
AS 'SELECT $1 + $2, $1 * $2'&lt;br /&gt;
LANGUAGE SQL;&lt;br /&gt;
&lt;br /&gt;
 SELECT * FROM sum_n_product(11,42);&lt;br /&gt;
 sum | product&lt;br /&gt;
-----+---------&lt;br /&gt;
  53 |     462&lt;br /&gt;
(1 row)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Fixem-nos com definim ara el procediment ''inserir_empleat3''. Aquest procediment retorna, com si fos una funció, el número d'empleats que tenim. Des de PHP visualitzarem el valor que retorna el procediment.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CREATE OR REPLACE FUNCTION inserir_empleat3(vnom varchar, vcognom varchar, vnum_empleats OUT integer) AS $$&lt;br /&gt;
BEGIN&lt;br /&gt;
INSERT INTO EMPLEAT(id_empleat,nom,cognom) VALUES(nextval('empleat_seq'),vnom,vcognom);&lt;br /&gt;
SELECT COUNT(*) INTO vnum_empleats FROM EMPLEAT;&lt;br /&gt;
END;&lt;br /&gt;
$$ LANGUAGE plpgsql;&lt;br /&gt;
&lt;br /&gt;
prova:&lt;br /&gt;
select inserir_empleat3('Pere','Riudellots');&lt;br /&gt;
 inserir_empleat3&lt;br /&gt;
------------------&lt;br /&gt;
              141&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fitxer '''proc4.php''':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
header(&amp;quot;Content-Type: text/html; charset=utf-8&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// CREATE OR REPLACE FUNCTION inserir_empleat3(vnom varchar, vcognom varchar, OUT vnum_empleats integer) AS $$&lt;br /&gt;
// BEGIN&lt;br /&gt;
// INSERT INTO EMPLEAT(id_empleat,nom,cognom) VALUES(nextval('empleat_seq'),vnom,vcognom);&lt;br /&gt;
// SELECT COUNT(*) INTO vnum_empleats FROM EMPLEAT;&lt;br /&gt;
// END;&lt;br /&gt;
// $$ LANGUAGE plpgsql;&lt;br /&gt;
&lt;br /&gt;
//postgresql connection variables&lt;br /&gt;
$pg_user = 	'profe';	//username&lt;br /&gt;
$pg_pass =	'profe';			//user password&lt;br /&gt;
$pg_host =	'localhost';		//host name or server ip address&lt;br /&gt;
$pg_db   = 	'empleat';	//database name&lt;br /&gt;
&lt;br /&gt;
$vnom=&amp;quot;Martí&amp;quot;;&lt;br /&gt;
$vcognom=&amp;quot;Tresserres&amp;quot;;&lt;br /&gt;
$vnum_empleats=0;&lt;br /&gt;
&lt;br /&gt;
$conn_string = &amp;quot;host=$pg_host port=5432 dbname=$pg_db user=$pg_user password=$pg_pass&amp;quot;;&lt;br /&gt;
$conn = pg_connect($conn_string) or die('connection failed');;&lt;br /&gt;
&lt;br /&gt;
if (!$conn) {&lt;br /&gt;
	echo &amp;quot;Hi ha hagut un error en la connexió.\n&amp;quot;;&lt;br /&gt;
	exit;&lt;br /&gt;
} else {&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	$query = &amp;quot;SELECT inserir_empleat3('$vnom','$vcognom')&amp;quot;;&lt;br /&gt;
	$result = pg_query($conn, $query);&lt;br /&gt;
	if (!$result) {&lt;br /&gt;
	  echo &amp;quot;An error occured.\n&amp;quot;;&lt;br /&gt;
	  exit;&lt;br /&gt;
	} else {&lt;br /&gt;
		$row=pg_fetch_assoc($result);&lt;br /&gt;
		$vnum_empleats=$row['inserir_empleat3'];&lt;br /&gt;
		echo &amp;quot;S'ha afegit l'empleat $vnom $vcognom&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
		echo &amp;quot;Número d'empleats: $vnum_empleats&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
pg_close($conn);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==proc4b.php: paràmetres d'entrada i de sortida II==&lt;br /&gt;
Què passa si tenim varis paràmetres de sortida? Com es gestiona? Anem a veure-ho amb un exemple.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CREATE OR REPLACE FUNCTION inserir_empleat3b(vnom varchar, vcognom varchar, OUT vhomes integer, OUT vdones integer) AS $$&lt;br /&gt;
BEGIN&lt;br /&gt;
INSERT INTO EMPLEAT(id_empleat,nom,cognom) VALUES(nextval('empleat_seq'),vnom,vcognom);&lt;br /&gt;
SELECT COUNT(*) INTO vhomes FROM EMPLEAT WHERE sexe='H';&lt;br /&gt;
SELECT COUNT(*) INTO vdones FROM EMPLEAT WHERE sexe='D';&lt;br /&gt;
END;&lt;br /&gt;
$$ LANGUAGE plpgsql;&lt;br /&gt;
&lt;br /&gt;
select inserir_empleat3b('Pere','Quintana');&lt;br /&gt;
&lt;br /&gt;
inserir_empleat3b &lt;br /&gt;
-------------------&lt;br /&gt;
 (29,18)&lt;br /&gt;
(1 fila)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Veiem que el resultat és un cadena en forma de array. Fàcilment amb php puc destriar el primer element i el segon element, i ficar-los en les variables. És d'aquesta manera que es gestionen els paràmetres de sortida.&lt;br /&gt;
&lt;br /&gt;
Fitxer '''proc4b.php''':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
header(&amp;quot;Content-Type: text/html; charset=utf-8&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// CREATE OR REPLACE FUNCTION inserir_empleat3b(vnom varchar, vcognom varchar, OUT vnum_empleats integer, OUT vnum_empleats2 integer) AS $$&lt;br /&gt;
// BEGIN&lt;br /&gt;
// INSERT INTO EMPLEAT(id_empleat,nom,cognom) VALUES(nextval('empleat_seq'),vnom,vcognom);&lt;br /&gt;
// SELECT COUNT(*),count(*)+2 INTO vnum_empleats,vnum_empleats2 FROM EMPLEAT;&lt;br /&gt;
// END;&lt;br /&gt;
// $$ LANGUAGE plpgsql;&lt;br /&gt;
&lt;br /&gt;
// select inserir_empleat3b('Pere','Quintana');&lt;br /&gt;
&lt;br /&gt;
//postgresql connection variables&lt;br /&gt;
$pg_user = 	'profe';	//username&lt;br /&gt;
$pg_pass =	'profe';			//user password&lt;br /&gt;
$pg_host =	'localhost';		//host name or server ip address&lt;br /&gt;
$pg_db   = 	'empleat';	//database name&lt;br /&gt;
&lt;br /&gt;
$vnom=&amp;quot;Martí&amp;quot;;&lt;br /&gt;
$vcognom=&amp;quot;Tresserres&amp;quot;;&lt;br /&gt;
$vtotal=0;&lt;br /&gt;
$vhomes=0;&lt;br /&gt;
$vdones=0;&lt;br /&gt;
&lt;br /&gt;
$conn_string = &amp;quot;host=$pg_host port=5432 dbname=$pg_db user=$pg_user password=$pg_pass&amp;quot;;&lt;br /&gt;
$conn = pg_connect($conn_string) or die('connection failed');;&lt;br /&gt;
&lt;br /&gt;
if (!$conn) {&lt;br /&gt;
	echo &amp;quot;Hi ha hagut un error en la connexió.\n&amp;quot;;&lt;br /&gt;
	exit;&lt;br /&gt;
} else {&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	$query = &amp;quot;SELECT inserir_empleat3b('$vnom','$vcognom')&amp;quot;;&lt;br /&gt;
	$result = pg_query($conn, $query);&lt;br /&gt;
	if (!$result) {&lt;br /&gt;
	  echo &amp;quot;An error occured.\n&amp;quot;;&lt;br /&gt;
	  exit;&lt;br /&gt;
	} else {&lt;br /&gt;
		$row=pg_fetch_assoc($result);&lt;br /&gt;
		$vtotal=$row['inserir_empleat3b'];&lt;br /&gt;
		echo &amp;quot;S'ha afegit l'empleat $vnom $vcognom&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
		echo &amp;quot;Número d'empleats amb sexe: $vtotal&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
		echo &amp;quot;Ara hem de separar aquest resultat en les dues parts i ficar-ho a les variables vhomes i vdones&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
pg_close($conn);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==proc5.php: cridar a una funció==&lt;br /&gt;
Les funcions retornen un valor. Una manera de cridar la funció i recuperar el valor que retorna és ficar-la a dins d'una select:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$query = &amp;quot;select num_empleats&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Per exemple, la calculadora SQL i l'aplicació ''Hola món'' SQL són:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SQL&amp;gt; select 4*6;&lt;br /&gt;
SQL&amp;gt; select 'Hola món';&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
fitxer '''proc5.php'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
header(&amp;quot;Content-Type: text/html; charset=utf-8&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// CREATE OR REPLACE FUNCTION num_empleats() RETURNS integer AS $$&lt;br /&gt;
// DECLARE&lt;br /&gt;
// vnum_empleats integer;&lt;br /&gt;
// BEGIN&lt;br /&gt;
// SELECT COUNT(*) INTO vnum_empleats FROM EMPLEAT;&lt;br /&gt;
// RETURN vnum_empleats;&lt;br /&gt;
// END;&lt;br /&gt;
// $$ LANGUAGE plpgsql;&lt;br /&gt;
&lt;br /&gt;
//postgresql connection variables&lt;br /&gt;
$pg_user = 	'profe';	//username&lt;br /&gt;
$pg_pass =	'profe';			//user password&lt;br /&gt;
$pg_host =	'localhost';		//host name or server ip address&lt;br /&gt;
$pg_db   = 	'empleat';	//database name&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$conn_string = &amp;quot;host=$pg_host port=5432 dbname=$pg_db user=$pg_user password=$pg_pass&amp;quot;;&lt;br /&gt;
$conn = pg_connect($conn_string) or die('connection failed');;&lt;br /&gt;
&lt;br /&gt;
if (!$conn) {&lt;br /&gt;
	echo &amp;quot;Hi ha hagut un error en la connexió.\n&amp;quot;;&lt;br /&gt;
	exit;&lt;br /&gt;
} else {&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	$query = &amp;quot;SELECT num_empleats()&amp;quot;;&lt;br /&gt;
	$result = pg_query($conn, $query);&lt;br /&gt;
	if (!$result) {&lt;br /&gt;
	  echo &amp;quot;An error occured.\n&amp;quot;;&lt;br /&gt;
	  exit;&lt;br /&gt;
	} else {&lt;br /&gt;
		$row=pg_fetch_assoc($result);&lt;br /&gt;
		$vnum_empleats=$row['num_empleats'];&lt;br /&gt;
&lt;br /&gt;
		echo &amp;quot;Número d'empleats: $vnum_empleats&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
pg_close($conn);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==inserir_empleat.php: formulari per introduir valors==&lt;br /&gt;
&lt;br /&gt;
Finalment, els valors de l'empleat que introduiré a la base de dades vindran normalment d'un formulari:&lt;br /&gt;
&lt;br /&gt;
Fitxer '''inserir_empleat.php''' (formulari):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;es&amp;quot; lang=&amp;quot;es&amp;quot;&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;amp;lt;head&amp;amp;gt;&lt;br /&gt;
		&amp;amp;lt;meta http-equiv=&amp;quot;content-Type&amp;quot; content=&amp;quot;text/html; charset=utf-8&amp;quot; /&amp;amp;gt;&lt;br /&gt;
		&amp;amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;./css_style.css&amp;quot; media=&amp;quot;screen&amp;quot; title=&amp;quot;LangTrainer&amp;quot; /&amp;amp;gt;&lt;br /&gt;
		&amp;amp;lt;title&amp;amp;gt;Inserir Empleat. PHP + PostgreSQL&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;amp;lt;/head&amp;amp;gt;	&lt;br /&gt;
	&amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
	&amp;amp;lt;h2&amp;amp;gt;Formulari d'inserció d'un empleat&amp;amp;lt;/h2&amp;amp;gt;&lt;br /&gt;
	&amp;amp;lt;form name=&amp;quot;form_empleat&amp;quot; method=&amp;quot;post&amp;quot; action=&amp;quot;inserir_empleat2.php&amp;quot; &amp;amp;gt;&lt;br /&gt;
		&amp;amp;lt;label style=&amp;quot;width: 70px;&amp;quot;&amp;amp;gt;Nom:&amp;amp;lt;/label&amp;amp;gt;&lt;br /&gt;
		&amp;amp;lt;input id=&amp;quot;txt&amp;quot; name=&amp;quot;nom&amp;quot; style=&amp;quot;width:100px;&amp;quot; value=&amp;quot;&amp;quot; /&amp;amp;gt;&lt;br /&gt;
		&amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
		&amp;amp;lt;label style=&amp;quot;width: 70px;&amp;quot;&amp;amp;gt;Cognom:&amp;amp;lt;/label&amp;amp;gt;&lt;br /&gt;
		&amp;amp;lt;input id=&amp;quot;txt&amp;quot; name=&amp;quot;cognom&amp;quot; style=&amp;quot;width:100px;&amp;quot; value=&amp;quot;&amp;quot; /&amp;amp;gt;&lt;br /&gt;
		&amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
		&amp;amp;lt;input type=&amp;quot;submit&amp;quot; style=&amp;quot;margin-left: 75px;&amp;quot; value=&amp;quot;Inserir&amp;quot;/&amp;amp;gt;&lt;br /&gt;
	&amp;amp;lt;/form&amp;amp;gt;&lt;br /&gt;
	&amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fitxer '''inserir_empleat2.php''' (recull les dades del formulari):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;amp;lt;?php&lt;br /&gt;
header (&amp;quot;Content-Type: text/html; charset=utf-8&amp;quot;);&lt;br /&gt;
$vnom=trim($_POST['nom']);&lt;br /&gt;
$vcognom=trim($_POST['cognom']);&lt;br /&gt;
&lt;br /&gt;
//postgresql connection variables&lt;br /&gt;
$pg_user = 	'profe';	//username&lt;br /&gt;
$pg_pass =	'profe';			//user password&lt;br /&gt;
$pg_host =	'localhost';		//host name or server ip address&lt;br /&gt;
$pg_db   = 	'empleat';	//database name&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$conn_string = &amp;quot;host=$pg_host port=5432 dbname=$pg_db user=$pg_user password=$pg_pass&amp;quot;;&lt;br /&gt;
$conn = pg_connect($conn_string) or die('connection failed');;&lt;br /&gt;
?&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;es&amp;quot; lang=&amp;quot;es&amp;quot;&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;amp;lt;head&amp;amp;gt;&lt;br /&gt;
		&amp;amp;lt;meta http-equiv=&amp;quot;content-Type&amp;quot; content=&amp;quot;text/html; charset=iso-8859-1&amp;quot; /&amp;amp;gt;&lt;br /&gt;
		&amp;amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;./css_style.css&amp;quot; media=&amp;quot;screen&amp;quot; title=&amp;quot;LangTrainer&amp;quot; /&amp;amp;gt;&lt;br /&gt;
		&amp;amp;lt;title&amp;amp;gt;Inserir Empleat. PHP + PostgreSQL&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;amp;lt;/head&amp;amp;gt;	&lt;br /&gt;
	&amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
	&amp;amp;lt;h2&amp;amp;gt;Resultat de la inserció d'un empleat&amp;amp;lt;/h2&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;?php&lt;br /&gt;
if (!$conn) {&lt;br /&gt;
	echo &amp;quot;Hi ha hagut un error en la connexió.\n&amp;quot;;&lt;br /&gt;
	exit;&lt;br /&gt;
} else {&lt;br /&gt;
	if ($vnom&amp;amp;lt;&amp;amp;gt;&amp;quot;&amp;quot; &amp;amp; $vcognom&amp;amp;lt;&amp;amp;gt;&amp;quot;&amp;quot;) {&lt;br /&gt;
&lt;br /&gt;
		$query = &amp;quot;SELECT inserir_empleat2('$vnom','$vcognom')&amp;quot;;&lt;br /&gt;
		$result = pg_query($conn, $query);&lt;br /&gt;
		if (!$result) {&lt;br /&gt;
		  echo &amp;quot;An error occured.\n&amp;quot;;&lt;br /&gt;
		  exit;&lt;br /&gt;
		}&lt;br /&gt;
		echo &amp;quot;S'ha afegit l'empleat $vnom $vcognom&amp;amp;lt;br /&amp;amp;gt;&amp;quot;;&lt;br /&gt;
	} else {&lt;br /&gt;
		echo &amp;quot;Has de proporcionar un nom i un cognom per a l'empleat que vols introduir.&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
pg_close($conn);&lt;br /&gt;
?&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Annex==&lt;br /&gt;
Pàgina web per ajuntar tot el codi, fitxer '''index.html''':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;es&amp;quot; lang=&amp;quot;es&amp;quot;&amp;amp;gt;&lt;br /&gt;
	&amp;amp;lt;head&amp;amp;gt;&lt;br /&gt;
		&amp;amp;lt;meta http-equiv=&amp;quot;content-Type&amp;quot; content=&amp;quot;text/html; charset=utf-8&amp;quot; /&amp;amp;gt;&lt;br /&gt;
		&amp;amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;./css_style_langtrainer.css&amp;quot; media=&amp;quot;screen&amp;quot; title=&amp;quot;LangTrainer&amp;quot; /&amp;amp;gt;&lt;br /&gt;
		&amp;amp;lt;title&amp;amp;gt;Inserir Empleat. PHP + PostgreSQL + llibreria nadiua&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
	&amp;amp;lt;/head&amp;amp;gt;	&lt;br /&gt;
	&amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
	&amp;amp;lt;h2&amp;amp;gt;Tutorial Accés a dades: PHP + PostgreSQL amb llibreria nadiua&amp;amp;lt;/h2&amp;amp;gt;&lt;br /&gt;
	&amp;amp;lt;ul&amp;amp;gt;&lt;br /&gt;
		&amp;amp;lt;li&amp;amp;gt;&amp;amp;lt;a href=&amp;quot;recordset.php&amp;quot;&amp;amp;gt;recordset.php&amp;amp;lt;/a&amp;amp;gt;: fer una select bàsica&amp;amp;lt;/li&amp;amp;gt;&lt;br /&gt;
		&amp;amp;lt;li&amp;amp;gt;&amp;amp;lt;a href=&amp;quot;proc1.php&amp;quot;&amp;amp;gt;proc1.php&amp;amp;lt;/a&amp;amp;gt;: execució bàsica d'un procediment&amp;amp;lt;/li&amp;amp;gt;&lt;br /&gt;
		&amp;amp;lt;li&amp;amp;gt;&amp;amp;lt;a href=&amp;quot;proc2.php&amp;quot;&amp;amp;gt;proc2.php&amp;amp;lt;/a&amp;amp;gt;: passar paràmetres d'entrada&amp;amp;lt;/li&amp;amp;gt;&lt;br /&gt;
		&amp;amp;lt;li&amp;amp;gt;&amp;amp;lt;a href=&amp;quot;proc3.php&amp;quot;&amp;amp;gt;proc3.php&amp;amp;lt;/a&amp;amp;gt;: passant paràmetres des d'una variable PHP&amp;amp;lt;/li&amp;amp;gt; &lt;br /&gt;
		&amp;amp;lt;li&amp;amp;gt;&amp;amp;lt;a href=&amp;quot;proc4.php&amp;quot;&amp;amp;gt;proc4.php&amp;amp;lt;/a&amp;amp;gt;: paràmetres d'entrada i 1 paràmetre de sortida&amp;amp;lt;/li&amp;amp;gt; &lt;br /&gt;
		&amp;amp;lt;li&amp;amp;gt;&amp;amp;lt;a href=&amp;quot;proc4b.php&amp;quot;&amp;amp;gt;proc4b.php&amp;amp;lt;/a&amp;amp;gt;: paràmetres d'entrada i 2 paràmetres de sortida&amp;amp;lt;/li&amp;amp;gt; &lt;br /&gt;
		&amp;amp;lt;li&amp;amp;gt;&amp;amp;lt;a href=&amp;quot;proc5.php&amp;quot;&amp;amp;gt;proc5.php&amp;amp;lt;/a&amp;amp;gt;: cridar a una funció&amp;amp;lt;/li&amp;amp;gt; &lt;br /&gt;
		&amp;amp;lt;li&amp;amp;gt;&amp;amp;lt;a href=&amp;quot;inserir_empleat.php&amp;quot;&amp;amp;gt;inserir_empleat.php&amp;amp;lt;/a&amp;amp;gt;: formulari per introduir valors&amp;amp;lt;/li&amp;amp;gt;&lt;br /&gt;
	&amp;amp;lt;/ul&amp;amp;gt;&lt;br /&gt;
	&amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;/html&amp;amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Full d'estils, '''css_style.css''':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
body {&lt;br /&gt;
  padding-left: 11em;&lt;br /&gt;
  font-family: Verdana, helvetica,arial, sans-serif;&lt;br /&gt;
  color: purple;&lt;br /&gt;
  background-color: #a8da3a&lt;br /&gt;
}&lt;br /&gt;
ul.navbar {&lt;br /&gt;
  list-style-type: none;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  top: 2em;&lt;br /&gt;
  left: 1em;&lt;br /&gt;
  width: 9em &lt;br /&gt;
}&lt;br /&gt;
h1 {&lt;br /&gt;
  font-family: Verdana, Helvetica, Geneva, Arial,&lt;br /&gt;
        SunSans-Regular, sans-serif &lt;br /&gt;
}&lt;br /&gt;
ul.navbar li {&lt;br /&gt;
  background: white;&lt;br /&gt;
  margin: 0.5em 0;&lt;br /&gt;
  padding: 0.3em;&lt;br /&gt;
  border-right: 1em solid black&lt;br /&gt;
}&lt;br /&gt;
ul.navbar a {&lt;br /&gt;
  text-decoration: none &lt;br /&gt;
}&lt;br /&gt;
a:link {&lt;br /&gt;
  color: blue &lt;br /&gt;
}&lt;br /&gt;
a:visited {&lt;br /&gt;
  color: purple &lt;br /&gt;
}&lt;br /&gt;
address {&lt;br /&gt;
  margin-top: 1em;&lt;br /&gt;
  padding-top: 1em;&lt;br /&gt;
  border-top: thin dotted &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Autor}}, abril 2009&lt;br /&gt;
[[Categoria: PostgreSQL]]&lt;br /&gt;
[[Categoria: Programació PHP]]&lt;br /&gt;
[[Categoria: Cicles Formatius: DAI]]&lt;br /&gt;
[[Categoria: Pràctica EC]]&lt;/div&gt;</summary>
		<author><name>Joan</name></author>
		
	</entry>
</feed>