PHP - Error conexion a base de datos variable global

 
Vista:

Error conexion a base de datos variable global

Publicado por reale (2 intervenciones) el 15/12/2019 12:34:15
Hola.
En un script PHP defino la conexion a la bbdd del tipo

1
$conn = mysqli_connect($servername, $username, $password, $database);

pero si luego, en otro script PHP quiero hacer uso de la variable $conn por ejemplo para hacer un INSERT INTO, me dice que no sabe lo qué es:

1
2
3
4
if (mysqli_query($conn, $sql)) {
 
    <lo que sea>
}

Notice: Undefined variable: conn in C:\wamp\www\acceso\enviado.php on line 4

Es decir, mi duda es cómo hacer que una vez definida la variable de conexión a mi BBDD, sea visible y accesible por todos los demás scripts .php

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 joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Error conexion a base de datos variable global

Publicado por joel (1269 intervenciones) el 15/12/2019 19:51:18
Hola, no especificas mucho como lo estas haciendo, pero en principio tu realizas la conexión en un archivo, y si llamas a clases u otros archivos que necesita esa conexión la pasas como parámetro.

PUedes especificar exactamente donde crear la conexión, y donde la intentas llamar que no te funciona?
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
sin imagen de perfil

Error conexion a base de datos variable global

Publicado por anonymous (53 intervenciones) el 16/12/2019 02:23:55
El archivo .php donde tienes definida tu conexión debes incluirlo ya sea con include o require_once, pero yo recomiendo crear una capa de acceso a datos (DAO) y centralizar todo lo que tenga que ver con la BD en esa capa, y solo desde esa capa invocar llamados a la conexión así: primero crear una clase llamada: Conexion

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
 
class Conexion {
 
 public static function ObtenerConexion()
 {
    $server   = "TuServer";
    $username = "TuUsuario";
    $password = "TuClave";
    $database = "NombreDeTuBaseDeDatos";
 
    try
    {
       $Conexion = new mysqli($server, $username, $password, $database);
       if (mysqli_connect_errno()){
           if( !$Conexion ) {
            die("No se puede conectar a la base de datos:");
        }
        else
        {
           return($Conexion);
        }
    }
    catch (Exception $ex)
    {
       echo $ex;
    }
 }
 
}
 
// Luego desde el módulo donde la llamarás hacer esto: require_once 'Conexion.php';
// Llamas la conexion así: $cn = Conexion::ObtenerConexion();
// A cualquier sentencia que se requiera ejecutar se la referencia la variable $cn
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