PHP - ayuda POO

 
Vista:
Imágen de perfil de Juanito

ayuda POO

Publicado por Juanito (7 intervenciones) el 05/01/2017 08:03:27
Hola amigos, espero me ayuden con este problema, mi problema es que tengo una clase con algunas funciones pero dentro de una función cree una variable, y necesito que desde otra función dentro de la misma clase puede usar la variable que cree en la otra función, aquí esta el código:
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?php
class Conexion{
    var $host;
    var $username;
    var $password;
    var $dbname;
    var $nuevaConexion;
    function __construct($host, $username, $password, $dbname){
        $this->host = $host;
        $this->username = $username;
        $this->password = $password;
        $this->dbname = $dbname;
    }
    public function conectar(){
        $nuevaConexion = new mysqli($this->host, $this->username, $this->password);
        @$nuevaConexion->select_db($this->dbname);
        if($nuevaConexion->connect_errno){
            echo $nuevaConexion->connect_error;
            exit();
        }
    }
    public function consultar($consulta){
        @$nuevaConexion->query($consulta);
        if($nuevaConexion->connect_errno){
            echo $nuevaConexion->connect_error;
            exit();
        }
    }
    public function mostrar($opcion){
        if($opcion == "num"){
            $contenido = $nuevaConexion->fetch_row();
            return $contenido;
        }
        else if($opcion == "assoc"){
            $contenido = $nuevaConexion->fetch_assoc();
            return $contenido;
        }
        else{
            echo "opcion incorrecta";
        }
    }
    public function mostrar_datos_conexion(){
        $datos = array("host" => $this->host,
                       "user" => $this->username,
                       "pass" =>$this->password,
                       "db" => $this->dbname);
        return $datos;
    }
}
$entrada = new Conexion("127.0.0.1", "root", "", "aprender");
$entrada->conectar();
 
//$entrada->consultar("INSERT INTO USUARIOS(usuario, contraseña) VALUES ('Diego', 'langosta14')");
?>

necesito usar $nuevaConexion que cree en conectar en la funcion consultar, y en la funcion mostrar. ya intente con global pero no puedo, gracias de antemano.
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 Hector Oscar
Val: 13
Ha aumentado su posición en 14 puestos en PHP (en relación al último mes)
Gráfica de PHP

ayuda POO

Publicado por Hector Oscar (1 intervención) el 05/01/2017 09:02:47
Mira el final te agregue a la clase ne el principio Getter y Setter
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
<?php
 
class Conexion{
 
    var $host;
 
    var $username;
 
    var $password;
 
    var $dbname;
 
    var $nuevaConexion;
 
    //SET GET CREADOS
    public function getHost() {
        return $this->host;
    }
 
    public function getUsername() {
        return $this->username;
    }
 
    public function getPassword() {
        return $this->password;
    }
 
    public function getDbname() {
        return $this->dbname;
    }
 
    public function getNuevaConexion() {
        return $this->nuevaConexion;
    }
 
    public function setHost($host) {
        $this->host = $host;
    }
 
    public function setUsername($username) {
        $this->username = $username;
    }
 
    public function setPassword($password) {
        $this->password = $password;
    }
 
    public function setDbname($dbname) {
        $this->dbname = $dbname;
    }
 
    public function setNuevaConexion($nuevaConexion) {
        $this->nuevaConexion = $nuevaConexion;
    }
 
 
 
    function __construct($host, $username, $password, $dbname){
 
        $this->host = $host;
 
        $this->username = $username;
 
        $this->password = $password;
 
        $this->dbname = $dbname;
 
    }
 
    public function conectar(){
 
        $nuevaConexion = new mysqli($this->host, $this->username, $this->password);
 
        @$nuevaConexion->select_db($this->dbname);
 
        if($nuevaConexion->connect_errno){
 
            echo $nuevaConexion->connect_error;
 
            exit();
 
        }
 
    }
 
    public function consultar($consulta){
 
        @$nuevaConexion->query($consulta);
 
        if($nuevaConexion->connect_errno){
 
            echo $nuevaConexion->connect_error;
 
            exit();
 
        }
 
    }
 
    public function mostrar($opcion){
 
        if($opcion == "num"){
 
            $contenido = $nuevaConexion->fetch_row();
 
            return $contenido;
 
        }
 
        else if($opcion == "assoc"){
 
            $contenido = $nuevaConexion->fetch_assoc();
 
            return $contenido;
 
        }
 
        else{
 
            echo "opcion incorrecta";
 
        }
 
    }
 
    public function mostrar_datos_conexion(){
 
        $datos = array("host" => $this->host,
 
                       "user" => $this->username,
 
                       "pass" =>$this->password,
 
                       "db" => $this->dbname);
 
        return $datos;
 
    }
 
}
 
$entrada = new Conexion("127.0.0.1", "root", "", "aprender");
$con   =   $entrada->conectar();
$entrada->setNuevaConexion($con);
 
//    //SET GET CREADOS al principiuo de la clase Conexion
// despues con get recuperas el valos desde la clase o en culaquie punto del programa.
// ejemplo
$entrada-> getNuevaConexion();
 
//o desde la misma clase
$this-> getNuevaConexion();
$self::getNuevaConexion();
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
3
Comentar
Imágen de perfil de Juanito

ayuda POO

Publicado por Juanito (7 intervenciones) el 05/01/2017 09:06:10
muchas gracias, has resuelto mi problema!!
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