Variável global

  • Autor Autor Daniel Muñoz
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
Daniel Muñoz

Daniel Muñoz

1
Pi
Programador
Verificado
Verificación en dos pasos activada
Verificado por Binance
Suscripción a IA
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
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
PHP:
function registrar() {
global $db;

Así?
 
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" />';
    
} 
?>
 
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
 
No mi hermano, asi tampoco funciona.

- - - Actualizado - - -
[MENTION=9679]cicklow[/MENTION] ven a mi rescate por favor :3
 
No mi hermano, asi tampoco funciona.

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

mira mas arriba te puse como solucionarlo :fatigue:
 
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.
 
Podias usar $_POST 😛 o $_GET o $_SERVER o $_REQUEST

PHP:
$_SERVER['algo'] = 'soy global';
 
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 😛 o $_GET o $_SERVER o $_REQUEST

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

No zcriptz, no.
 
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.
 
Como dijo cicklow, no hagas una función para conectarse, me parece algo demás por eso me confundí la primera vez. :drunk:



No zcriptz, no.

Que no gil
 
Voltar
Topo