Variable global

Daniel Muñoz Siguiendo
Seguidores
9

1
Pi
Programador
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Verificado por Binance
Suscripción a IA
Desde
20 Mar 2009
Mensajes
6.019
Hola betas, se que esta es una pregunta tonta, pero no encuentro la forma o la manera de hacer una variable global.

Les explico.

Tengo en un archivo (base.php) una funcion para conectarme a la base de datos

PHP:
<?php
function conectar () {
  $servidor = "localhost";
  $usuario = "root";
  $clave = "daniel";
  $base = "ejemplo";
  $bd = mysqli_connect($servidor, $usuario, $clave, $base);
  if (mysqli_connect_errno() ) {
    echo 'Error: ' . mysqli_connect_error();
  }
}

En mi caso necesitaria usar la variable "$db" en otro archivo, expecificamente dentro de esta funcion.

PHP:
function registrar() {
    $registrar = mysqli_query($bd, "INSERT INTO usuarios (id,nombre,apellido,cedula) VALUES ('"."' , '".$this->nombre."' , '".$this->apellido."' , '".$this->cedula."')");    
    echo 'Registrado bien';
    echo '<a href="index.php" />';
    
  }

¿Como lo hago?

Ya ley la referencia de PHP pero de verdd no logro comprenderla PHP: Ãmbito de las variables - Manual
 

Lopezito

Zeta
Diseñador
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
13 Dic 2011
Mensajes
1.515
No funciona. =/ otra idea?

Recién veo que usas una función para conectar, debería quedarte así las funciones e implementación:

PHP:
<?php
function conectar () {
  $servidor = "localhost";
  $usuario = "root";
  $clave = "daniel";
  $base = "ejemplo";
  $bd = mysqli_connect($servidor, $usuario, $clave, $base);
  if (mysqli_connect_errno() ) {
    echo 'Error: ' . mysqli_connect_error();
  }
return $bd;
}
function registrar() {
conectar();
    $registrar = mysqli_query($bd, "INSERT INTO usuarios (id,nombre,apellido,cedula) VALUES ('"."' , '".$this->nombre."' , '".$this->apellido."' , '".$this->cedula."')");    
    echo 'Registrado bien';
    echo '<a href="index.php" />';
    
} 
?>
 

Cicklow

Admin
Dseda
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Suscripción a IA
Desde
30 May 2011
Mensajes
1.102
No funciona. =/ otra idea?

PHP:
$bd = "";
function conectar () {
  global $bd;
  $servidor = "localhost";
  $usuario = "root";
  $clave = "daniel";
  $base = "ejemplo";
  $bd = mysqli_connect($servidor, $usuario, $clave, $base);
  if (mysqli_connect_errno() ) {
    echo 'Error: ' . mysqli_connect_error();
  }
}
PHP:
function registrar() {
    global $bd;
    $registrar = mysqli_query($bd, "INSERT INTO usuarios (id,nombre,apellido,cedula) VALUES ('"."' , '".$this->nombre."' , '".$this->apellido."' , '".$this->cedula."')");    
    echo 'Registrado bien';
    echo '<a href="index.php" />';
    
  }

Te recomiendo no usar una funcion de conectar... usa un file con el code
PHP:
  $servidor = "localhost";
  $usuario = "root";
  $clave = "daniel";
  $base = "ejemplo";
  $bd = mysqli_connect($servidor, $usuario, $clave, $base);
  if (mysqli_connect_errno() ) {
    echo 'Error: ' . mysqli_connect_error();
  }
y luego lo llamas con require o include
 

Daniel Muñoz

1
Pi
Programador
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Verificado por Binance
Suscripción a IA
Desde
20 Mar 2009
Mensajes
6.019
No mi hermano, asi tampoco funciona.

- - - Actualizado - - -
[MENTION=9679]cicklow[/MENTION] ven a mi rescate por favor :3
 

Cicklow

Admin
Dseda
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Suscripción a IA
Desde
30 May 2011
Mensajes
1.102

Daniel Muñoz

1
Pi
Programador
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Verificado por Binance
Suscripción a IA
Desde
20 Mar 2009
Mensajes
6.019
mira mas arriba te puse como solucionarlo :fatigue:

Es que se actualizo y no vi =)

Ya hice lo que me colocaste, gracias de verdad.

Siempre tu llegando al rescate, por cierto tienes un mp.
 

zcriptz

1
Ómicron
Programador
Verificación en dos pasos activada
Verificado por Whatsapp
Suscripción a IA
Desde
26 Mar 2013
Mensajes
4.621
Podias usar $_POST :p o $_GET o $_SERVER o $_REQUEST

PHP:
$_SERVER['algo'] = 'soy global';
 

Lopezito

Zeta
Diseñador
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
13 Dic 2011
Mensajes
1.515
Como dijo cicklow, no hagas una función para conectarse, me parece algo demás por eso me confundí la primera vez. :drunk:

Podias usar $_POST :p o $_GET o $_SERVER o $_REQUEST

PHP:
$_SERVER['algo'] = 'soy global';

No zcriptz, no.
 

jcdiaz

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
26 Jun 2014
Mensajes
115
Efectivamente ya te dieron la respuesta, como lo mencionas, nunca he investigado si existen o se pueden emplear variables globales a nivel de archivos, solo dentro del mismo, lo ideal es lo que te dijo cicklow.

Saludos.
 
Arriba