<?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-llibreria_OCI8%3A_programaci%C3%B3_PHP._Procediments</id>
	<title>PHP-llibreria OCI8: 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-llibreria_OCI8%3A_programaci%C3%B3_PHP._Procediments"/>
	<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=PHP-llibreria_OCI8:_programaci%C3%B3_PHP._Procediments&amp;action=history"/>
	<updated>2026-08-30T04:04:30Z</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-llibreria_OCI8:_programaci%C3%B3_PHP._Procediments&amp;diff=3870&amp;oldid=prev</id>
		<title>Joan: /* objectiu */</title>
		<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=PHP-llibreria_OCI8:_programaci%C3%B3_PHP._Procediments&amp;diff=3870&amp;oldid=prev"/>
		<updated>2009-11-06T12:16:33Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;objectiu&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 OCI d'Oracle per a PHP:&lt;br /&gt;
&lt;br /&gt;
http://es2.php.net/manual/en/ref.oci8.php&lt;br /&gt;
&lt;br /&gt;
==objectiu==&lt;br /&gt;
Tenim instal.lada la llibreria OCI per connectar-nos a Oracle des de PHP. En aquests exercicis mostrarem les operacions bàsiques per accedir a la base de dades, 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;
&lt;br /&gt;
En el servidor, el codi està a /usr/share/oracle-php, 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/oracle/&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 NUMBER(3) PRIMARY KEY,&lt;br /&gt;
    nom VARCHAR2(25) NOT NULL,&lt;br /&gt;
    cognom VARCHAR2(25) NOT NULL,&lt;br /&gt;
    funcio VARCHAR2(25),&lt;br /&gt;
    mail VARCHAR2(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 I: recordset_0.php==&lt;br /&gt;
Per obtenir la informació d'una consulta (SELECT) hi ha diverses funcions que poden ser útils: ''oci_fetch_all'', ''oci_fetch_array'', ''oci_fetch_row'', ''oci_fetch''.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$stmt = oci_parse($ora_conn, $query);&lt;br /&gt;
oci_execute($stmt);&lt;br /&gt;
$nrows = oci_fetch_all($stmt, $results);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
''oci_parse()'' comprova la sintaxi de la sentència que volem executar, i prepara la sentència per a la seva execució. Amb ''oci_execute'' executem la query, pròpiament dit, i amb la funció ''oci_fetch_all'' omplim la matriu ''$results'', que és una matriu amb tantes columnes com té la SELECT, i amb tantes files com $nrows.&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;
//oracle connection variables&lt;br /&gt;
$ora_user = 	'joan';	//username&lt;br /&gt;
$ora_pass =	'bbdd';			//user password&lt;br /&gt;
$ora_host =	'oracle';		//host name or server ip address&lt;br /&gt;
$ora_db   = 	'XE';	//database name&lt;br /&gt;
&lt;br /&gt;
// place variable into oci_connect function, then place funtion in variable&lt;br /&gt;
$ora_conn = oci_connect($ora_user,$ora_pass,'//'.$ora_host.'/'.$ora_db);&lt;br /&gt;
//$ora_conn = oci_connect('joan','bbdd','//oracle/XE');&lt;br /&gt;
&lt;br /&gt;
// error handling&lt;br /&gt;
if (!ora_conn){	// if variable $ora_conn fails to connect&lt;br /&gt;
	// do the following if it fails&lt;br /&gt;
	$ora_conn_erno = oci_error(); 	// insert oci_error() function into variable&lt;br /&gt;
	echo ($ora_conn_erno['message'].&amp;quot;\n&amp;quot;); 	// print the $ora_conn_erno variable/oci_error() function selecting only the message (human readable)			// close the connection just in case php doesn't close it&lt;br /&gt;
} else {&lt;br /&gt;
	// if it doesn't fail it will proceed with the rest of the script&lt;br /&gt;
	echo &amp;quot;Connection Succesful&amp;lt;br /&amp;gt;&amp;quot;; 	//echo message if connection does not error&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&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	$stmt = oci_parse($ora_conn, $query) or die ('Can not parse query');&lt;br /&gt;
	oci_execute($stmt) or die ('Can not Execute statment'); &lt;br /&gt;
&lt;br /&gt;
	echo &amp;quot;&amp;lt;table border=\&amp;quot;1\&amp;quot;&amp;gt;\n&amp;quot;;&lt;br /&gt;
	while ($row = oci_fetch_array ($stmt, OCI_BOTH)) {&lt;br /&gt;
		echo &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;quot;.$row['ID_EMPLEAT'].&amp;quot;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;quot;.$row['NOM'].&amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
	oci_free_statement($stmt);&lt;br /&gt;
	echo &amp;quot;&amp;lt;/table&amp;gt;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
oci_close($ora_conn); 	// close the connection&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==fer una select bàsica II: recordset.php==&lt;br /&gt;
Per obtenir la informació d'una consulta (SELECT) hi ha diverses funcions que poden ser útils: ''oci_fetch_all'', ''oci_fetch_array'', ''oci_fetch_row'', ''oci_fetch''.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$stmt = oci_parse($ora_conn, $query);&lt;br /&gt;
oci_execute($stmt);&lt;br /&gt;
$nrows = oci_fetch_all($stmt, $results);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
''oci_parse()'' comprova la sintaxi de la sentència que volem executar, i prepara la sentència per a la seva execució. Amb ''oci_execute'' executem la query, pròpiament dit, i amb la funció ''oci_fetch_all'' omplim la matriu ''$results'', que és una matriu amb tantes columnes com té la SELECT, i amb tantes files com $nrows.&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;
//oracle connection variables&lt;br /&gt;
$ora_user = 	'joan';	//username&lt;br /&gt;
$ora_pass =	'bbdd';			//user password&lt;br /&gt;
$ora_host =	'oracle';		//host name or server ip address&lt;br /&gt;
$ora_db   = 	'XE';	//database name&lt;br /&gt;
&lt;br /&gt;
// place variable into oci_connect function, then place funtion in variable&lt;br /&gt;
$ora_conn = oci_connect($ora_user,$ora_pass,'//'.$ora_host.'/'.$ora_db);&lt;br /&gt;
//$ora_conn = oci_connect('joan','bbdd','//oracle/XE');&lt;br /&gt;
&lt;br /&gt;
// error handling&lt;br /&gt;
if (!ora_conn){	// if variable $ora_conn fails to connect&lt;br /&gt;
	// do the following if it fails&lt;br /&gt;
	$ora_conn_erno = oci_error(); 	// insert oci_error() function into variable&lt;br /&gt;
	echo ($ora_conn_erno['message'].&amp;quot;\n&amp;quot;); 	// print the $ora_conn_erno variable/oci_error() function selecting only the message (human readable)			// close the connection just in case php doesn't close it&lt;br /&gt;
} else {&lt;br /&gt;
	// if it doesn't fail it will proceed with the rest of the script&lt;br /&gt;
	echo &amp;quot;Connection Succesful&amp;lt;br /&amp;gt;&amp;quot;; 	//echo message if connection does not error&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&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	$stmt = oci_parse($ora_conn, $query) or die ('Can not parse query');&lt;br /&gt;
	oci_execute($stmt) or die ('Can not Execute statment'); &lt;br /&gt;
&lt;br /&gt;
	$nrows = oci_fetch_all($stmt, $results);&lt;br /&gt;
	if ($nrows &amp;gt; 0) {&lt;br /&gt;
	   echo &amp;quot;&amp;lt;table border=\&amp;quot;1\&amp;quot;&amp;gt;\n&amp;quot;;&lt;br /&gt;
	   echo &amp;quot;&amp;lt;tr&amp;gt;\n&amp;quot;;&lt;br /&gt;
	   foreach ($results as $key =&amp;gt; $val) {&lt;br /&gt;
	      echo &amp;quot;&amp;lt;th&amp;gt;$key&amp;lt;/th&amp;gt;\n&amp;quot;;&lt;br /&gt;
	   }&lt;br /&gt;
	   echo &amp;quot;&amp;lt;/tr&amp;gt;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	   for ($i = 0; $i &amp;lt; $nrows; $i++) {&lt;br /&gt;
	      echo &amp;quot;&amp;lt;tr&amp;gt;\n&amp;quot;;&lt;br /&gt;
	      foreach ($results as $data) {&lt;br /&gt;
		 echo &amp;quot;&amp;lt;td&amp;gt;$data[$i]&amp;lt;/td&amp;gt;\n&amp;quot;;&lt;br /&gt;
	      }&lt;br /&gt;
	      echo &amp;quot;&amp;lt;/tr&amp;gt;\n&amp;quot;;&lt;br /&gt;
	   }&lt;br /&gt;
	   echo &amp;quot;&amp;lt;/table&amp;gt;\n&amp;quot;;&lt;br /&gt;
	} else {&lt;br /&gt;
	   echo &amp;quot;No data found&amp;lt;br /&amp;gt;\n&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
	echo &amp;quot;$nrows Records Selected&amp;lt;br /&amp;gt;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	oci_free_statement($stmt);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
oci_close($ora_conn); 	// close the connection&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 procedure inserir_empleat&lt;br /&gt;
IS&lt;br /&gt;
BEGIN&lt;br /&gt;
insert into empleat(id_empleat,nom,cognom) VALUES(50,'Pere','Poma');&lt;br /&gt;
END inserir_empleat;&lt;br /&gt;
/&lt;br /&gt;
&lt;br /&gt;
$query = &amp;quot;begin inserir_empleat; end;&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 procedure inserir_empleat&lt;br /&gt;
// IS&lt;br /&gt;
// BEGIN&lt;br /&gt;
// insert into empleat(id_empleat,nom,cognom) VALUES(50,'Pere','Poma');&lt;br /&gt;
// END inserir_empleat;&lt;br /&gt;
// /&lt;br /&gt;
&lt;br /&gt;
//oracle connection variables&lt;br /&gt;
$ora_user = 	'joan';	//username&lt;br /&gt;
$ora_pass =	'bbdd';			//user password&lt;br /&gt;
$ora_host =	'oracle';		//host name or server ip address&lt;br /&gt;
$ora_db   = 	'XE';	//database name&lt;br /&gt;
&lt;br /&gt;
// place variable into oci_connect function, then place funtion in variable&lt;br /&gt;
$ora_conn = oci_connect($ora_user,$ora_pass,'//'.$ora_host.'/'.$ora_db);&lt;br /&gt;
//$ora_conn = oci_connect('joan','bbdd','//oracle/XE');&lt;br /&gt;
&lt;br /&gt;
// error handling&lt;br /&gt;
if (!ora_conn){	// if variable $ora_conn fails to connect&lt;br /&gt;
	// do the following if it fails&lt;br /&gt;
	$ora_conn_erno = oci_error(); // insert oci_error() function into variable&lt;br /&gt;
	echo ($ora_conn_erno['message'].&amp;quot;\n&amp;quot;); 	// print the $ora_conn_erno variable/oci_error() function selecting only the message (human readable)			// close the connection just in case php doesn't close it&lt;br /&gt;
} else {&lt;br /&gt;
	// if it doesn't fail it will proceed with the rest of the script&lt;br /&gt;
	echo &amp;quot;Connection Succesful&amp;lt;br /&amp;gt;&amp;quot;; 	//echo message if connection does not error&lt;br /&gt;
&lt;br /&gt;
$query = &amp;quot;begin inserir_empleat; end;&amp;quot;;&lt;br /&gt;
$stmt = oci_parse($ora_conn, $query) or die ('Can not parse query');&lt;br /&gt;
//OCIBindByName($stmt,&amp;quot;:var_ftel&amp;quot;, &amp;amp;$myFriendTel, 20) or die ('Can not bind variable');&lt;br /&gt;
oci_execute($stmt) or die ('Can not Execute statment'); &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;
oci_close($ora_conn); 	// close the connection&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;
&lt;br /&gt;
select empleat_seq.nextval from dual;&lt;br /&gt;
select empleat_seq.currval from dual;&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;begin inserir_empleat2('Maria','Batllori'); end;&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 procedure inserir_empleat2(nom VARCHAR, cognom VARCHAR)&lt;br /&gt;
// IS&lt;br /&gt;
// BEGIN&lt;br /&gt;
// insert into empleat(id_empleat,nom,cognom) VALUES(empleat_seq.nextval,nom,cognom);&lt;br /&gt;
// END inserir_empleat2;&lt;br /&gt;
// /&lt;br /&gt;
&lt;br /&gt;
//oracle connection variables&lt;br /&gt;
$ora_user = 	'joan';	//username&lt;br /&gt;
$ora_pass =	'bbdd';			//user password&lt;br /&gt;
$ora_host =	'oracle';		//host name or server ip address&lt;br /&gt;
$ora_db   = 	'XE';	//database name&lt;br /&gt;
&lt;br /&gt;
// place variable into oci_connect function, then place funtion in variable&lt;br /&gt;
$ora_conn = oci_connect($ora_user,$ora_pass,'//'.$ora_host.'/'.$ora_db);&lt;br /&gt;
//$ora_conn = oci_connect('joan','bbdd','//oracle/XE');&lt;br /&gt;
&lt;br /&gt;
// error handling&lt;br /&gt;
if (!ora_conn){ // if variable $ora_conn fails to connect&lt;br /&gt;
	// do the following if it fails&lt;br /&gt;
	$ora_conn_erno = oci_error(); // insert oci_error() function into variable&lt;br /&gt;
	echo ($ora_conn_erno['message'].&amp;quot;&amp;lt;br /&amp;gt;&amp;quot;); 	// print the $ora_conn_erno variable/oci_error() function selecting only the message (human readable)&lt;br /&gt;
} else {&lt;br /&gt;
	// if it doesn't fail it will proceed with the rest of the script&lt;br /&gt;
	echo &amp;quot;Connection Succesful&amp;lt;br /&amp;gt;&amp;quot;; 	//echo message if connection does not error&lt;br /&gt;
&lt;br /&gt;
	$query = &amp;quot;begin inserir_empleat2('Maria','Batllori'); end;&amp;quot;;&lt;br /&gt;
	$stmt = oci_parse($ora_conn, $query) or die ('Can not parse query');&lt;br /&gt;
	oci_execute($stmt) or die ('Can not Execute statment'); &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
oci_close($ora_conn); 	// close the connection&lt;br /&gt;
echo &amp;quot;S'ha afegit l'empleat Maria Batllori&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
?&amp;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;
	$query = &amp;quot;begin inserir_empleat2(:vnom,:vcognom); end;&amp;quot;;&lt;br /&gt;
	$stmt = oci_parse($ora_conn, $query) or die ('Can not parse query');&lt;br /&gt;
&lt;br /&gt;
	$vnom=&amp;quot;Jordi&amp;quot;;&lt;br /&gt;
	$vcognom=&amp;quot;Martínez&amp;quot;;&lt;br /&gt;
		     &lt;br /&gt;
	oci_bind_by_name($stmt, &amp;quot;:vnom&amp;quot;, $vnom);&lt;br /&gt;
	oci_bind_by_name($stmt, &amp;quot;:vcognom&amp;quot;, $vcognom);&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 procedure inserir_empleat2(nom VARCHAR, cognom VARCHAR)&lt;br /&gt;
// IS&lt;br /&gt;
// BEGIN&lt;br /&gt;
// insert into empleat(id_empleat,nom,cognom) VALUES(empleat_seq.nextval,nom,cognom);&lt;br /&gt;
// END inserir_empleat2;&lt;br /&gt;
// /&lt;br /&gt;
&lt;br /&gt;
//oracle connection variables&lt;br /&gt;
$ora_user = 	'joan';	//username&lt;br /&gt;
$ora_pass =	'bbdd';			//user password&lt;br /&gt;
$ora_host =	'oracle';		//host name or server ip address&lt;br /&gt;
$ora_db   = 	'XE';	//database name&lt;br /&gt;
&lt;br /&gt;
// place variable into oci_connect function, then place funtion in variable&lt;br /&gt;
$ora_conn = oci_connect($ora_user,$ora_pass,'//'.$ora_host.'/'.$ora_db);&lt;br /&gt;
//$ora_conn = oci_connect('joan','bbdd','//oracle/XE');&lt;br /&gt;
&lt;br /&gt;
// error handling&lt;br /&gt;
if (!ora_conn){							// if variable $ora_conn fails to connect&lt;br /&gt;
	// do the following if it fails&lt;br /&gt;
	$ora_conn_erno = oci_error(); 			// insert oci_error() function into variable&lt;br /&gt;
	echo ($ora_conn_erno['message'].&amp;quot;\n&amp;quot;); 	// print the $ora_conn_erno variable/oci_error() function selecting only the message (human readable)			// close the connection just in case php doesn't close it&lt;br /&gt;
} else {&lt;br /&gt;
	// if it doesn't fail it will proceed with the rest of the script&lt;br /&gt;
	echo &amp;quot;Connection Succesful&amp;lt;br /&amp;gt;&amp;quot;; 	//echo message if connection does not error&lt;br /&gt;
&lt;br /&gt;
	$query = &amp;quot;begin inserir_empleat2(:vnom,:vcognom); end;&amp;quot;;&lt;br /&gt;
	$stmt = oci_parse($ora_conn, $query) or die ('Can not parse query');&lt;br /&gt;
&lt;br /&gt;
	$vnom=&amp;quot;Jordi&amp;quot;;&lt;br /&gt;
	$vcognom=&amp;quot;Martínez&amp;quot;;&lt;br /&gt;
		     &lt;br /&gt;
	oci_bind_by_name($stmt, &amp;quot;:vnom&amp;quot;, $vnom);&lt;br /&gt;
	oci_bind_by_name($stmt, &amp;quot;:vcognom&amp;quot;, $vcognom);&lt;br /&gt;
	     &lt;br /&gt;
	oci_execute($stmt) or die ('Can not Execute statment'); &lt;br /&gt;
	echo &amp;quot;Hem introduït l'empleat Jordi Martínez&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
oci_close($ora_conn); 	// close the connection&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 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;
&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 procedure inserir_empleat3(nom VARCHAR,cognom VARCHAR, num_empleats OUT NUMBER)&lt;br /&gt;
// IS&lt;br /&gt;
// BEGIN&lt;br /&gt;
// insert into empleat(id_empleat,nom,cognom) VALUES(empleat_seq.nextval,nom,cognom);&lt;br /&gt;
// select count(*) into num_empleats from empleat;&lt;br /&gt;
// END inserir_empleat3;&lt;br /&gt;
// /&lt;br /&gt;
&lt;br /&gt;
// declare&lt;br /&gt;
// vnum_empleats number(3);&lt;br /&gt;
// begin&lt;br /&gt;
// inserir_empleat3('Marta','Capdevila',vnum_empleats);&lt;br /&gt;
// dbms_output.put_line('Número empleats: ' || vnum_empleats);&lt;br /&gt;
// end;&lt;br /&gt;
// /&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//oracle connection variables&lt;br /&gt;
$ora_user = 	'joan';	//username&lt;br /&gt;
$ora_pass =	'bbdd';			//user password&lt;br /&gt;
$ora_host =	'oracle';		//host name or server ip address&lt;br /&gt;
$ora_db   = 	'XE';	//database name&lt;br /&gt;
&lt;br /&gt;
// place variable into oci_connect function, then place funtion in variable&lt;br /&gt;
$ora_conn = oci_connect($ora_user,$ora_pass,'//'.$ora_host.'/'.$ora_db);&lt;br /&gt;
//$ora_conn = oci_connect('joan','bbdd','//oracle/XE');&lt;br /&gt;
&lt;br /&gt;
// error handling&lt;br /&gt;
if (!ora_conn){							// if variable $ora_conn fails to connect&lt;br /&gt;
	// do the following if it fails&lt;br /&gt;
	$ora_conn_erno = oci_error(); 			// insert oci_error() function into variable&lt;br /&gt;
	echo ($ora_conn_erno['message'].&amp;quot;\n&amp;quot;); 	// print the $ora_conn_erno variable/oci_error() function selecting only the message (human readable)			// close the connection just in case php doesn't close it&lt;br /&gt;
} else {&lt;br /&gt;
	// if it doesn't fail it will proceed with the rest of the script&lt;br /&gt;
	echo &amp;quot;Connection Succesful&amp;lt;br /&amp;gt;&amp;quot;; 	//echo message if connection does not error&lt;br /&gt;
&lt;br /&gt;
	$query = &amp;quot;begin inserir_empleat3(:vnom,:vcognom,:vnum_empleats); end;&amp;quot;;&lt;br /&gt;
	$stmt = oci_parse($ora_conn, $query) or die ('Can not parse query');&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;
	oci_bind_by_name($stmt, &amp;quot;:vnom&amp;quot;, $vnom);&lt;br /&gt;
	oci_bind_by_name($stmt, &amp;quot;:vcognom&amp;quot;, $vcognom);&lt;br /&gt;
	oci_bind_by_name($stmt, &amp;quot;:vnum_empleats&amp;quot;, $vnum_empleats,32);&lt;br /&gt;
	     &lt;br /&gt;
	oci_execute($stmt) or die ('Can not Execute statment'); &lt;br /&gt;
&lt;br /&gt;
	echo &amp;quot;Número d'empleats: &amp;quot;.$vnum_empleats;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
oci_close($ora_conn); 	// close the connection&lt;br /&gt;
?&amp;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 from dual&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La taula ''dual'' és una taula que es pot utilitzar per a aquestes ocasions. 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 from dual;&lt;br /&gt;
SQL&amp;gt; select 'Hola món' from dual;&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 RETURN NUMBER&lt;br /&gt;
// IS&lt;br /&gt;
// vnum_empleats NUMBER(2);&lt;br /&gt;
// BEGIN&lt;br /&gt;
// select count(*) into vnum_empleats from empleat;&lt;br /&gt;
// RETURN vnum_empleats;&lt;br /&gt;
// END num_empleats;&lt;br /&gt;
// /&lt;br /&gt;
&lt;br /&gt;
//select num_empleats from dual;&lt;br /&gt;
&lt;br /&gt;
//oracle connection variables&lt;br /&gt;
$ora_user = 	'joan';	//username&lt;br /&gt;
$ora_pass =	'bbdd';			//user password&lt;br /&gt;
$ora_host =	'oracle';		//host name or server ip address&lt;br /&gt;
$ora_db   = 	'XE';	//database name&lt;br /&gt;
&lt;br /&gt;
// place variable into oci_connect function, then place funtion in variable&lt;br /&gt;
$ora_conn = oci_connect($ora_user,$ora_pass,'//'.$ora_host.'/'.$ora_db);&lt;br /&gt;
//$ora_conn = oci_connect('joan','bbdd','//oracle/XE');&lt;br /&gt;
&lt;br /&gt;
// error handling&lt;br /&gt;
if (!ora_conn){							// if variable $ora_conn fails to connect&lt;br /&gt;
	// do the following if it fails&lt;br /&gt;
	$ora_conn_erno = oci_error(); 			// insert oci_error() function into variable&lt;br /&gt;
	echo ($ora_conn_erno['message'].&amp;quot;&amp;lt;br /&amp;gt;&amp;quot;); 	// print the $ora_conn_erno variable/oci_error() function selecting only the message (human readable)			// close the connection just in case php doesn't close it&lt;br /&gt;
} else {&lt;br /&gt;
	// if it doesn't fail it will proceed with the rest of the script&lt;br /&gt;
	echo &amp;quot;Connection Succesful&amp;lt;br /&amp;gt;&amp;quot;; 	//echo message if connection does not error&lt;br /&gt;
&lt;br /&gt;
	$query = &amp;quot;select num_empleats from dual&amp;quot;;&lt;br /&gt;
	$stmt = oci_parse($ora_conn, $query) or die ('Can not parse query');&lt;br /&gt;
&lt;br /&gt;
	oci_execute($stmt);&lt;br /&gt;
	$row = oci_fetch_array ($stmt, OCI_BOTH);&lt;br /&gt;
&lt;br /&gt;
	echo &amp;quot;Número d'empleats: &amp;quot;.$row[0].&amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
	echo &amp;quot;o bé&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
	echo &amp;quot;Número d'empleats: &amp;quot;.$row['NUM_EMPLEATS']; //compte, majúscules&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
oci_close($ora_conn); 	// close the connection&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 + Oracle + Oci8&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;
//oracle connection variables&lt;br /&gt;
$ora_user = 	'joan';	//username&lt;br /&gt;
$ora_pass =	'bbdd';			//user password&lt;br /&gt;
$ora_host =	'oracle';		//host name or server ip address&lt;br /&gt;
$ora_db   = 	'XE';	//database name&lt;br /&gt;
&lt;br /&gt;
$ora_conn = oci_connect($ora_user,$ora_pass,'//'.$ora_host.'/'.$ora_db);&lt;br /&gt;
&lt;br /&gt;
?&amp;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=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 + Oracle + Oci8&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;
	&amp;amp;lt;?php&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;
&lt;br /&gt;
		if (!ora_conn){	// if variable $ora_conn fails to connect&lt;br /&gt;
			// do the following if it fails&lt;br /&gt;
			$ora_conn_erno = oci_error();&lt;br /&gt;
			echo ($ora_conn_erno['message'].&amp;quot;\n&amp;quot;);&lt;br /&gt;
		} else {&lt;br /&gt;
			$query = &amp;quot;begin inserir_empleat2(:vnom,:vcognom); end;&amp;quot;;&lt;br /&gt;
			$stmt = oci_parse($ora_conn, $query) or die ('Can not parse query');&lt;br /&gt;
				     &lt;br /&gt;
			oci_bind_by_name($stmt, &amp;quot;:vnom&amp;quot;, $vnom);&lt;br /&gt;
			oci_bind_by_name($stmt, &amp;quot;:vcognom&amp;quot;, $vcognom);&lt;br /&gt;
			oci_execute($stmt) or die ('Can not Execute statment'); &lt;br /&gt;
			echo &amp;quot;Hem introduït l'empleat $vnom $vcognom&amp;amp;lt;br /&amp;amp;gt;&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
		oci_close($ora_conn); 	// close the connection&lt;br /&gt;
&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;
	?&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;
==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.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 + Oracle + Oci8&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 + Oracle amb Oci8&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_0.php&amp;quot;&amp;amp;gt;recordset_0.php&amp;amp;lt;/a&amp;amp;gt;: fer una select bàsica I&amp;amp;lt;/li&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 II&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 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: #d8da3d &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}}, febrer 2009&lt;br /&gt;
[[Categoria: Oracle]]&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>