PHP - No me reconoce variables externas dentro de una función.

 
Vista:
sin imagen de perfil
Val: 18
Ha aumentado su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

No me reconoce variables externas dentro de una función.

Publicado por German (10 intervenciones) el 29/12/2016 17:54:37
Gente muy buenos días, primero que nada aclarar que hace mucho no entraba con mi otra cuenta, mi usuario era kapi. Por alguna razón que desconozco no me acepta mis correos así que arranco de cero nuevamente.

Hace ya un tiempo comencé a programar No me reconoce variables externas dentro de una función.Tengo el siguiente problema o duda quizás.

En un archivo que llamo desde todos lados llamado conexion.php tengo el siguiente codigo

1
2
3
4
$host="kapi2454.ipagemysql.com"; // Nombre del servidor
$username="usuario";                       // Usuario MySQL
$password="pass";                             // Clave Mysql
$db_name="base";                             // Database name


$conn = new mysqli($host, $username, $password, $db_name);
$conn->set_charset("utf8");

Ahora, al final he agregado varias funciones que me son de mucha ayuda pero el problema sirgio cuando agregue una como la siguiente

1
2
3
4
5
6
//Obtener nombre con id
function nombre($id){
$sql = $conn -> query("SELECT nombre FROM usuario WHERE id='$id' ");
$row = $sql -> fetch_assoc();
return $row[nombre];
}

Así la función no devuelve nada y da error, pero si adentro de la función pongo los datos de conecion todo anda sin problemas, según he leido la funcion solo tiene en cuenta las variables internas de la misma y no de las externas.

La pregunta es como puedo hacer que la función acceda a las variables externas? Ya que si un dia tengo que cambiar algo deberia hacerlo en todos los lugares donde hice una conexion y puede ser peligroso desde el punto de vista de digitar mal algo u olvidar cambiar el usuario en alguna parte del archivo conexion.php.

Desde ya muchas gracias!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro
Val: 1.634
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No me reconoce variables externas dentro de una función.

Publicado por Alejandro (839 intervenciones) el 29/12/2016 18:18:36
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
agrega dentro de tu funcion global mas las variables que necesitas de fuera
1
2
3
4
5
6
function nombre($id){
global $conn;
$sql = $conn -> query("SELECT nombre FROM usuario WHERE id='$id' ");
$row = $sql -> fetch_assoc();
return $row[nombre];
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 18
Ha aumentado su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

No me reconoce variables externas dentro de una función.

Publicado por German (10 intervenciones) el 31/12/2016 17:25:29
Funcionó a la perfección, muchas gracias por tu ayuda.
Me llama la atención que en los otros post cuando le contestaron que no se podía acceder a las variables externas nadie le ofreciera el comando "global". Gracias de nuevo y espero que pueda servirle a alguien mas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar