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