Ver Mensaje Individual
  #3 (permalink)  
Antiguo 16/10/2018, 20:48
tuadmin
 
Fecha de Ingreso: abril-2006
Mensajes: 583
Antigüedad: 18 años
Puntos: 120
Respuesta: Clase para conexion

existe 2 grandes errores en tu codigo PHP, tu codigo por lo visto es influenciado por tutoriales sobre PHP 4.4 hasta php 5.3,

el otro error es que debes ser conciente de como funciona el POO y tener en cuenta sobre los cambios que este tienen a lo largo de las versiones,

el error que te da

Código PHP:
Ver original
  1. public function query(){
  2.  
  3.         $resultado = mysqli_query($this->conexion,"SELECT * FROM cm_personas");
  4.  
  5.         return $resultado;
  6.             mysqli_close();
  7.  
  8.       }
es por que $this->conexion retorna NULO

y te retorna nulo, por que tu clase no contiene el CONSTRUCTOR
Código PHP:
Ver original
  1. public function MySQLi(){
  2.  
  3.         $this->conexion = mysqli_connect($this->host, $this->user, $this->pass , $this->db_)
  4.             or die("No se pudo conectar con la base de datos");
  5.  
  6.          if($this->conexion){
  7.               echo "Conexión Correcta "."<br/>";
  8.             mysqli_query($this->conexion,"SET NAMES 'utf8'");
  9.           }else{
  10.               echo 'MySQLi Error: ' . mysqli_errno($this->conexion);
  11.           }
  12.         return $conexion;
  13.     }
eso era un constructor , pero en versiones antiguas de PHP, y actualmente solo pasa a ser un metodo mas de tu clase, actualmente, las clases en php, todos los metodos denomiados "magicos" que son los constructores,setters,getters,destructores y demas siempre empiezan por doble guion bajo "__"

date una leida al manual

http://php.net/manual/es/language.oop5.decon.php


actualmente encontraras muchos tutoriales realizados, en su momento con la version de php de esa epoca, toma en cuenta ello, con el paso del tiempo las versiones tuvieron a veces grandes cambios