Problemas con el Include

Iniciado por eduardsoft, 21 Julio 2007, 19:16 PM

0 Miembros y 1 Visitante están viendo este tema.

eduardsoft

tengo este codigo :
include ("Conexion.php");
paises();
  $consulta = "Select trim(zon_codigo),zon_descripcion
                from sim_zona where pai_codigo ='$pais' order by zon_codigo";
               

En la consulta utilizo una variable llamada pais que esta en la funcion pais inlucida en el archivo conexion.php
por que esa variable me llega nula ???? :(

Nakp

pais va sin ' ' y usa geshi ;)

salu2
Ojo por ojo, y el mundo acabará ciego.

Ertai

En la función has de poner:

Código (php) [Seleccionar]

global $pais;


Antes de usarla.

Saludos.
Si la felicidad se comprara, entonces el dinero sería noble.


void rotar_by_ref(int& a, int& b) {
   /* Quien dijo que no se podia sin una variable temporal? */
   *a = *a ^ *b;
   *b = *a ^ *b;
   *a = *a ^ *b;
}

eduardsoft

ok lo de las comillas en pais ya paso , pero no he podido comprender lo de las global en un 100%

eduardsoft

gracias por hecharme una mano .

lo que trato de hacer es una funcion que me hace la conexion, esto es oracle

creo la funcion conexion ahi se hace una variable , bueno mas o menos asi

if ($c=oci_connect($nombre, $contrasena, "BASE_DE_DATOS")) {
       echo "Successfully connected to Oracle .\n";
      ($c);

todo bien hasta ahi,

pero como uso un include en otra pagina para llamar a esta funcion yo asumo que la variable ($c); esta disponible en esa pagina pero me dice que declare esa variable,

por que declararla si ya esta en la funcion ?


pienso que no es necesario por que esta presente en la funcion la cual es parte de mi pagina me funciona


No he podido entender el ambito de este tipo de variables , esta terrible..... :-\

Sanjuu

No logro entenderte del todo pero supongamos lo siguiente:

Fichero conex.php
Código (php) [Seleccionar]

function Conectar(){
   if ($c=oci_connect($nombre, $contraseña, "BASE_DE_DATOS"))
       echo "Successfully connected to Oracle .\n";
   
   return $c;
}


Si estamos en este caso la variable $c pertenece al ambito de la función Conectar del fichero conex.php por lo que no tendrás disponible esa variable fuera de la función, por lo tanto tampoco la tendrás disponible despues de hacer el include, para poder usarla deberías asignarla al llamar la funcion Conectar, por ejemplo:

Código (php) [Seleccionar]

$conex = Conectar();


Y finalmente:
Código (php) [Seleccionar]

include ("Conexion.php");
//...
// Usamos la variable $conex


La solución de Ertai también es válida pero el uso de variables globales no es recomendable a no ser que no haya más remedio, la modularidad de php de por sí es poca, si usas globales la estas machacando por completo.

Código (php) [Seleccionar]

if (pregunta->buscador()==NULL)
     pregunta->formular_pregunta();