Ver Mensaje Individual
  #4 (permalink)  
Antiguo 30/11/2005, 05:44
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Deberías indicar el código que usas en ambas funciones y como las llamas (usas).

De todas formas . .en principio si tu expresamente no declaras como global en la función una variable que definas y/o uses fuera de la función .. o bien la pases como parámetro a dicha función no podrás acceder a su valor.

Ejemplo
Código PHP:
function conectarDB(){
global 
$cn;
// etc código actual que usas ..

Si la defines como global ($cn) .. podras acceder a su valor desde fuera de la función .. pero si ese valor necesitas usarlo en otra función tendrás que pasarsela como parámetro a la misma .. o declararlo nuevamente como global

ejemplo:
Código PHP:
function devuelveSQL($cn){
// usas $cn ...

ó

Código PHP:
function devuelveSQL(){
global 
$cn;
// usas $cn ...


Pero .. tal cual lo usas .. lo lógico es que conectarDB() devuelva ese $cn al llamarlo:
Código PHP:
function conectarDB(){
// etc código actual que usas ..
return $cn;

$cn=conectarDB();

Y .. luego el resto de funciones que usen la conexión hagan uso de forma global de esa variable ..

Código PHP:
function devuelveSQL(){
global 
$cn;
// usas $cn ...

o bien pasarla como parámetro (sobre todo útil cuando tengas que establecer várias conexiones diferentes a una misma u otra BD en un mismo script):

Código PHP:
function devuelveSQL($cn){
// usas $cn ...


Además .. recuerda que un "link" de conexión es global para todo el script si sólo usas uno por script (no he visto tus funciones ni su uso en tu contexto .. pero parece que aunque uses funcionas así está funcionando tu código o así podría funcionar sin opción a establecer más links de conexión por script), por ende, .. no es necesario ni que uses $cn (tu link de conexión) si es que sólo usas uno .. o fijas a una determinada conexión para dicha función y luego vas declarando como global ese $cn (conexión link).

Más info y detalles:
http://www.php.net/manual/en/languag...bles.scope.php
(ambito de las variables o "scope")
www.php.net/mysql_connect
(revisa la teoría sobre como se establecen y como se usan los "links" de conexión a una BD).


Un saludo,