Aca les dejo las funciones que uso cuando utilizo PHP + Oracle
Código PHP:
function conectar_oracle($user, $pass){
putenv("ORACLE_SID=ORACLE");
putenv("ORACLE_HOME=/home/oracle");
$cn = ora_logon($user,$pass);
return $cn;
}
function conectar_base_datos(){
$c=conectar_oracle("base_datos@server", "password_base_datos");
return $c;
}
function desconectar_oracle($cn){
ora_logoff($cn);
}
// la variable $cn = conectar_base_datos();
// como usar la funcion select_data, similar a un mysql_fetch_array
//$sql = "select * from tabla";
//$cn = conectar_pymesred();
//$lst_archivos = select_data($cn, $sql, &$fil, &$col);
//$fil = numero de filas o registros retornados por la consulta
//$col = numero de columnas o campos retornados por la consulta e indicados
//en $sql
function select_data($conn, $strsql, &$max_filas, &$max_columnas){
$cursor = ora_open($conn);
ora_parse($cursor, $strsql);
ora_exec($cursor);
$nrows=0;
while(ora_fetch($cursor)){
$ncols = ora_numcols($cursor);
$nrows++;
/*se llena el arreglo por columnas*/
for ($aux_j=0; $aux_j<$ncols;$aux_j++){
$arreglo_datos[$nrows-1][$aux_j]=ora_getcolumn($cursor, $aux_j);
}
}
ora_close($cursor);
$max_columnas =$ncols;
$max_filas = $nrows;
return $arreglo_datos;
}
function select_column($conn, $strsql, &$max_filas, &$max_columnas){
$cursor = ora_open($conn);
ora_parse($cursor, $strsql);
ora_exec($cursor);
$ncols = ora_numcols($cursor);
for($i=0;$i<$ncols;$i++){
$arreglo_datos[$i][0] = Ora_ColumnName($cursor, $i);
$arreglo_datos[$i][1] = Ora_ColumnType($cursor, $i);
$arreglo_datos[$i][2] = Ora_ColumnSize($cursor, $i);
}
ora_close($cursor);
$max_columnas = 3;
$max_filas = $ncols;
return $arreglo_datos;
}
function insert_data($conn, $sql){
$cursor = ora_open($conn);
ora_commiton ($conn);
ora_parse($cursor, $sql);
ora_exec($cursor);
ora_close($cursor);
return 1;
}
function update_data($conn, $sql){
$cursor = ora_open($conn);
ora_commiton ($conn);
ora_parse($cursor, $sql);
ora_exec($cursor);
ora_close($cursor);
return 1;
}
Espero la entiendan y les sirva.
Salu2 !!!