PHP - Notice: Object of class mysqli could not be converted to int

   
Vista:

Notice: Object of class mysqli could not be converted to int

Publicado por mario (1 intervención) el 28/01/2016 16:59:16
cuando intento utliizar la conecion de la base de datos con una clase tengo
el ese problema de Notice: Notice: Object of class mysqli could not be converted to int

script:

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
require_once "config.php"; // config.php tiene solo las constantes.
 
class BaseDatos
{
    protected $conexion;
    protected $db;
 
    public function conectar()
    {
        $this->conexion = mysqli_connect(HOST, USER, PASS , DBNAME);
        if ($this->conexion == 0) DIE('Lo sentimos, no se ha podido conectar con MySQL: ' . mysqli_error());
        $this->db = mysqli_select_db(DBNAME, $this->conexion);
        if ($this->db == 0) DIE('Lo sentimos, no se ha podido conectar con la base datos: ' . DBNAME);
 
        return true;
 
    }
 
    public function desconectar()
    {
        if ($this->conectar->conexion) {
            mysqli_close($this->$conexion);
        }
 
    }
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 xve

Notice: Object of class mysqli could not be converted to int

Publicado por xve (5516 intervenciones) el 28/01/2016 19:54:14
Hola Mario, en que linea te da el error?

Si las variables tienen valor, parece estar todo correcto...
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
Imágen de perfil de VRM

Notice: Object of class mysqli could not be converted to int

Publicado por VRM (171 intervenciones) el 30/01/2016 11:25:40
Hola:

Creo que el error se produce en la linea 13. Si no se producen errores en la linea 12 $this->db es un objeto que luego se pretende comparar con uno entero.

Tienes dos soluciones:

1) Convertir la linea 13 a:
1
if ($this->db === false) DIE('Lo sentimos, no se ha podido conectar con la base datos: ' . DBNAME);

2) Refundir las lineas 12 y 13 en una sola:
1
$this->db = mysqli_select_db(DBNAME, $this->conexion) OR DIE('Lo sentimos, no se ha podido conectar con la base datos: ' . DBNAME);

Saludos de Víctor.-
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