php con oracle

Bowui
12 de Noviembre del 2008
por favor, tengo un problema necesito saber como me conecto a una base de datos oracle mediante php, por fa expliquenme como niño de primero basico ya que soy nueva en esto, chao

Arturo
12 de Noviembre del 2008
Hola Bowui, Mi nombre es Arturo estudiante de la UNI - Peru, he realizado trabajos con Php y Oracle desde hace 1 año y por lo que veo , la gente se complica mucho, no se porque dicen que existe un archivo db_ocio.inc con el cual te puedes conectara oracle, no hagas caso, lo que tienes que hacer es lo siguiente:
1. bájate el archivo php_oci8.dll
2. copialo en la carpeta que instalaste php
3. descomentalo en el ini.
4. reinicia apache
5. crea un simple y pequeño script:
por ejemplo
oracle.php
<?
$conexion = OCILogon("scoot", "scoot", "orant");
if ($conexion)
{
echo "listo te conectaste";
}else{
echo "Error";
}
?>

6. Listo eso es todo.

no se complique maestro.

salu2

Martha_Ortiz
12 de Noviembre del 2008
Hola ¿como estan?.. hola ****ARTURO***** Me podrias ayudar en el siguiente problema
Estoy manejando php 4.0.5, apache y oracle 8 personal Todo esto en una sola maquina
Tengo un pag en html en la que recojo unos datitos y con el boton ENVIAR_DATOS
Los mando a la base de datos

Estoy trabajando con funciones de oracle 8, la conexion YA LA HICE pero para agregar datos a la base de datos NO,(¿necesito incluir alguna libreria en el oracle?). La funcion para conectar y para insertar la tengo en conexion.php que es el siguiente:
<?
$db="";
$conexion = OCILogon("scott", "tiger", $db);
if ($conexion)
{
echo "*********listo te conectaste**********";
}else{
echo "*********Error********";
}



$stmt = OCIParse($conn, "insert into scott.SIHF_EMPLEADO values($PK_ID_EMPLEADO,'$NOMBRE','$APELLIDO','$TIPO_ID','$NUM_ID','$CARGO','$JORNADA')");
OCIExecute($stmt,OCI_DEFAULT);
echo $conn." inserted SIHF_EMPLEADOnn";

OCILogOff($off);
?>

y el codigo de la pag en html es el siguiente:
<HTML>
<HEAD>

<BR><TITLE>EQUIPOS DE USUARIO</TITLE></BR>
</HEAD>
<HR>

<P>&nbsp;</P>
<FORM METHOD=GET ACTION="conexion.php">

<P>
<FONT SIZE=3, COLOR=green FACE="Arial">DATOS DEL EMPLEADO</FONT><BR></P>

<FONT SIZE=2, COLOR=green FACE="Arial">
<BR>PK_tabla:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<INPUT TYPE.TEXT NAME=PK_ID_EMPLEADO size="20">
<BR>Nombre:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<INPUT TYPE.TEXT NAME=NOMBRE size="20">
<BR>Apellido:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<INPUT TYPE.TEXT NAME=APELLIDO size="20">
<BR>Tipo Identificación:&nbsp;&nbsp;
No.Cédula <INPUT TYPE=RADIO NAME=TIPO_ID VALUE=No.CC>
No.Empleado<INPUT TYPE=RADIO NAME=TIPO_ID VALUE=No.EMP CHECKED>
<BR>No. Identificación:&nbsp;&nbsp;
<INPUT TYPE.TEXT NAME=NUM_ID size="20">
<BR>cargo:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<INPUT TYPE.TEXT NAME=CARGO size="20">
<BR>Jornada:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<SELECT NAME="JORNADA">
<OPTION>D</OPTION>
<OPTION>N</OPTION>
</SELECT>

<BR>
<BR>

<BR><INPUT TYPE=SUBMIT NAME=BOTTONACEPTAR VALUE=ENVIAR_DATOS ACTION="conexion.php">


</FONT><BR>
<p>&nbsp;</p>
</FORM>
</BODY>
</HTML>
los errores que me salen son los siguientes:
*********listo te conectaste**********
Warning: Supplied argument is not a valid OCI8-Connection resource in c:archivos de programaapache groupapachehtdocssihfconexion.php on line 13

Warning: Supplied argument is not a valid OCI8-Statement resource in c:archivos de programaapache groupapachehtdocssihfconexion.php on line 14
inserted SIHF_EMPLEADO

***
La linea 13 es:
$stmt = OCIParse($conn, "insert into scott.SIHF_EMPLEADO values($PK_ID_EMPLEADO,'$NOMBRE','$APELLIDO','$TIPO_ID','$NUM_ID','$CARGO','$JORNADA')");
La linea 14 es:
OCIExecute($stmt,OCI_DEFAULT);

MUCHAS GRACIAS POR LA ATENCION PRESTADA



byron
12 de Noviembre del 2008
Hola Arturo, mi nombre es Byron, y queria pedirte un favor, apenas estoy empezando a trabajar con PHP y mySQl, pero necesito saber como trabajar con PHP y oracle, por lo que me preguntaba si me podrias ayudar con el codigo en php para manejo de alguna table en oracle 9i, necesito saber que es lo que debo realizar paso a paso para la conexion, y para los comandos basicos como el insert, update, select y el delete. Es decir una pagina que pueda manejar datos de una table en oracle. Te agradeceria mucho tu ayuda.
Gracias

paco recio
12 de Noviembre del 2008
Hola Byron, conseguiste que alguna persona te echara una mano con lo que solicitabas? Estoy en estos momentos intentando aprender a hacer lo mismo que tu hace un año y me encuentro con los mismos problemas, ¿podrias echarme una mano?
Gracias de antemano.

Victor V
12 de Noviembre del 2008
Si maestro, pero eso es con el 8i, y si tengo solamente el oracle 8, una version chanchita 8.0.4 ?? como hago? ahi no puedo hacer lo que dijistes, o no?

Saludos

Lima - Peru

nathy
12 de Noviembre del 2008
Hola Arturo, tengo un problema al tratar de conectar el oracle9i con php,sucede que cuando descomento el php_oci8.dll de php.ini me sale el mensaje que no se puede cargar la libreria dinamica del php_oci8.dll porque no se puede encuentrar el modulo especificado.

ricardo
12 de Noviembre del 2008
oye ya hice lo que tu pusiste en tu respuesta pero mi conexion sigue sin funcionar, no se si puedas mandar a mi correo el archivo dll para la conexion con oracle

rvera
12 de Noviembre del 2008
Primero debes conseguir el archivo db_oci8.inc que viene en el php, este archivo lo dejas en una carpeta, dentro de esta carpeta creas el siguiente archivo config.inc con el siguiente codigo.

<?
define ("DB_HOST", "");
define ("DB_USER", "Usuario");
define ("DB_PASSWORD", "Password");

//CLASE DE ACCESO A BASE DE DATOS
$cls_bd = "db_oci8.inc";

?>

luego de esto creas otro archivo llamado cd_vistas.inc con el siguiente codigo.

<?php

class cd_vistas extends DB_Sql {

/* Método Constructor: Cada vez que creemos una variable
de esta clase, se ejecutará esta función */
function cd_vistas() {

}

/*funcion para seleccionar los registros de la tabla */
function consultar($sql){

$this->query($sql);

}


} //fin de la Clase cls_printer
?>

luego de esto creas el archivo principal el cual hara referencia al resto de los archivos, llama este archivo como cls_general.php

<?php
/*
* Rodrigo Vera.
*
*/
require("config.inc"); // Archivo de configuracion
require("db_oci8.inc"); // Clase para acceso base de datos
require("cd_vistas.inc"); // Clase cls_usuarios
?>

Por ultimo creas el archivo que llamaras desde una pagina de internet, este archivo contendra el siguiente codigo por ejemplo llamalo 1.php

<?php
require ("cls_general.php");

$mi_vista = new cd_vistas;
$mi_vista->query("Aqui va la consulta");

while ($mi_vista->next_record())
{

echo $mi_vista->Record["Campo1"];
echo $mi_vista->Record["Campo2"];

}

$mi_vista->disconnect();

?>

Por ultimo llamas la pagina 1.php desde el explorador y listo.
Este ejemplo es una coneccion a una base de datos oracle trabajando con clases.

alternativos
12 de Noviembre del 2008
tengo un servidor con Windows 2000 Server donde instale el Oracle 9i , que incluye el apche 1.3.x , ademas le instale el php 4.3.2, el problema redica en que no sem pude conectar a la base de Oracle mediate php, me pregunto si le falta una libreria como el php_orac8.dll o el php_oracle.dll - donde lo puedo encontrar o como puedo hacer para reemplazar dicha DLL.

Por favor ayudenme urgente.

Gracias.