Está en la página 1de 3

INICIO A PHP CON ORACLE

Antes de nada descomentar la lnea ;extension=php_oci8.dll (quitar el punto y coma) del


archivo php.ini de la carpeta xampp/apache/bin, parar el servidor Apache y volver a
arrancarlo.
Funciones bsicas a usar:
oci_connect("usuario","clave", "SID oracle"): establece la conexin con el servidor oracle.
Devuelve el descriptor de conexin. Si la base de datos no es local se pone delante del SID la IP
'172.16.1.2/ORACLE9I'.
oci_close($conexion): Cierra la conexin.
oci_error(): devuelve el ltimo error encontrado.
oci_parse($conexion, $sentencia): prepara una sentencia para su ejecucin.
oci_execute($sentencia): ejecuta una sentencia.
oci_fetch_array($sentencia, OCI_ASSOC): devuelve la siguiente fila de resultados como una
matriz cuyo ndice es el nombre de la columna. Ejemplo:
$query = "SELECT id, name, sal FROM fruits";
$s = oci_parse ($connection, $query);
oci_execute ($s);
while ($row = oci_fetch_array($statement, OCI_ASSOC)) {
echo $row['ID']."<br>";
echo $row['NAME']."<br>";
echo $row['SAL']."<br>";
}

oci_fetch_array($sentencia, OCI_NUM): devuelve la siguiente fila de resultados como una


matriz cuyo ndice coincide con la posicin de la columna a la derecha de la SELECT. Ejemplo:
$query = "SELECT id, name, sal FROM fruits";
$s = oci_parse($connection, $query);
oci_execute ($s);
while ($row = oci_fetch_array($s, OCI_NUM)) {
echo $row[0]."<br>";
echo $row[1]."<br>";
echo $row[2]."<br>";
}

oci_num_rows($sentencia): devuelve el nmero de filas afectadas por el ltimo INSERT,


UPDATE o DELETE.

PHP CON ORACLE - 1

LISTADO DE EMPLEADOS DE LA TABLA EMPLE:


<?php
$conexion = oci_connect("system","oracle","xe");
if (!$conexion)
{
$e = oci_error();
echo "HA ocurrido un error: " . htmlentities($e['message']);
exit();
}
$query = "SELECT * FROM EMPLE ";//NO PONER ; EN SENTENCIA SQL
$s = oci_parse($conexion , $query );
oci_execute($s);
$i =0;
while ($res= oci_fetch_array($s, OCI_ASSOC))
{
echo $res['EMP_NO'] . "*" . $res['APELLIDO'] . "*" . $res['OFICIO'] . "*" .
echo "<br/>"; //salto linea
$i= $i+1;
} // fin while
oci_close($conexion);
?>

$res['SALARIO'];

INSERCIN DE UNA FILA EN EMPLE, BORRADO DE FILAS Y USO DE UNA FUNCIN PARA LISTAR EMPLEADOS:
<?php
function listar_emple($dep) {
$conexion = oci_connect("system","oracle",'xe');
$query = "SELECT * FROM EMPLE WHERE DEPT_NO= $dep";//NO PONER ; EN SENTENCIA SQL
$s = oci_parse($conexion , $query );
oci_execute($s);
$i =0;
while ($res= oci_fetch_array($s, OCI_ASSOC))
{
echo $res['EMP_NO'] . "*" . $res['APELLIDO'] . "*" . $res['OFICIO']
. "*" . $res['SALARIO'] ;
echo "<br/>";
$i= $i+1;
} // fin while
echo "<hr/>";
}//fin de la funcin de listado
//INSERCION DE DATOS EN EMPLE ----------------------------------------------------$conexion = oci_connect("system","oracle",'xe');
$E =1236;
$APE='LOPEZ';
$D=10;
$OFI='EMPLEADO';
$SAL=1500;
$query = "INSERT INTO EMPLE (EMP_NO,APELLIDO, OFICIO, SALARIO,DEPT_NO) VALUES ($E, '$APE',
'$OFI', $SAL, $D) ";
$s = oci_parse($conexion , $query );
oci_execute($s);
$numero=oci_num_rows($s);
echo "Filas insertadas: " . $numero . "<br/><hr/>";
//ELIMINACION EN EMPLE -------------------------------------------------------------$E =1236; //empleado a borrar
$query = "DELETE EMPLE WHERE EMP_NO = $E ";
$s = oci_parse($conexion , $query );
oci_execute($s);
$numero=oci_num_rows($s);
echo "Filas eliminadas: " . $numero . "<br/><hr/>";
listar_emple($D); //llamada a la funcin
oci_close($conexion);
?>

PHP CON ORACLE - 2

http://www.php-es.com/ref.oci8.html
http://www.phpwelt.net/handbuecher/spanish/ref.oci8.html
http://www.phpwelt.net/handbuecher/spanish/function.oci-fetch-array.html

PHP CON ORACLE - 3

También podría gustarte