Problemas con Oracle y PHP

Deseo saber como puedo hacer para solucionar un problema que tengo con una conexión entre el php y el oracle, ya que cuando trato de hacer dos querys con dos conexiones el apache me marca error y el módulo que manda el error es el php5ts.dll (es que estoy trabajando sobre winxp).
La manera de que hago la conexión es por medio del Ocilogon y la desconexión es por medio del ocilogof, pero, la conexión en cada una de las páginas es con el mismo usuario, la misma contraseña, y mismo recurso, por lo que necesito saber como puedo hacer para que cada vez que de una página redireccione a otra y necesite hacer una desconexión y conexión al mismo recurso y que no me marque error, ya que lo necesito para un proyecto.
Si la respuesta es demasiado extensa, puedes enviarme un correo con la respuesta o sitio web a la dirección [email protected]

1 respuesta

Respuesta
1
Si estas atacando a la misma BD NO DEBES hacer dos conexiones, con una te sobra, es la puerta de acceso a todos tus querys. En caso de que sean Bases de Datos diferentes (que no tablas), abre una conexión, ciérrala, y usa la otra, aunque debe de dejarte trabajar con las dos abiertas.
Echa un ojo al código de Ocilogony Off, a ver si puedes averiguar a que BD se está conectando.
No olvides cerrar la pregunta para que otros me puedan preguntar!.
Pero... ¿cómo puedo hacer para realizar la conexión si no se cual de las páginas se va a accesar primero pero en todas necesito hacer conexión a la BD de oracle?... lo que pasa es que necesito hacer varios querys en la bd y el código que tengo es el siguiente:
if ($conexion=ocilogon("user","password","resource") )
{
Echo("Te has conectado con la base de datos<br></font>");
$sql=OCIParse($conexion,"insert into test values (".$id.",'".$nombre."') ");
$insercion=OCIError($conexion);
OCIExecute($sql, OCI_DEFAULT);
OCICommit($conexion);
$sql = OCIParse
while (OCIFetch($sql))
{
echo "Codigo=" . ociresult($sql,"ID") . " ". "Nombre=" . ociresult($sql,"NOMBRE") . "<br>";
}
OCILogOff($conexion);
}
else
{
echo("te la pelas!!<br>");
$err = OCIError();
echo "Ha ocurrido un error en la conexion <br>" . $err[text];
}
Y en cada una de las siguientes páginas utilizo un código igual para la conexión.
El orden de las páginas no siempre es el mismo por que necesito hacer altas, bajas, modificaciones y más, por eso me imaginé que tendría que hacer una conexión por página... así que... ¿cómo puedo hacer para resolverlo?...
Mil gracias... y gracias por responder tan rápido. Saludos
Atentamente.
Remy©
La forma de trabajo en Web se basa en que cada página es un objeto independiente, de manera que CREAS y DESTRUYES la conexión en cada página.
Si trabajas con Dreamweaver, verás como lo soluciona de forma muy sencilla poniendo siempre una referencia a una página fija que se encarga de hacer la conexión.
Mil Gracias!... me imaginaba que se podría hacer de una manera similar, no estoy trabajando con dreamwaver, pero me imagino que es como en cualquier sitio web que tiene una página de presentación que se encarga de la conexión, igual en cuanto se cierra la página la conexión se destruye... Espero que si tengo otra duda o necesite ayuda me puedas auxiliar

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas