Buenas noches, me he iniciado en el mundo de la programación orientada a objetos y probando la metodología de conexión a base de datos mysqli i las classes, me he encontrado con el siguiente error:
tengo tres ficheros:
config.php
<?
define("db_host", "localhost");
define("db_name", "universitario");
define("db_user", "root");
define("db_pass", "xxxxx");
define("db_charset","utf8");
?>
mydbclass.php
<?
require_once 'config.php';
class dataBase{
private $conn;
//obrim una connexio a la base de dades
public static function __contruct()
{
$this->conn = new mysqli(db_host,db_user,db_pass,db_name);
if($this->conn->connect_errno){
echo "Error mysql: (".$this->conn->connect_errno.")".$this->conn->connect_error;
exit();
}
//poo --> set_charset | estil per procediment mysqli_set_charset : UTF-8
$this->conn->set_charset("db_charset");
echo 'Éxito... '.$conn->host_info;
}
public static function get_universitarios()
{
$resultado = $this->conn->query("select * from universitario;"); <---- line 25 donde me da el error
return $resultado;
}
//cerramos connexion a la base de datos
public function closedb()
{
$this->conn->close();
}
//destructor per tancar connexio a la base de dades
public function __destruct()
{
$this->closedb();
}
}
?>
y el último fichero:
index.php
<?
include('mydbclass.php');
echo "Estas en la pagina de pruevas de connexion a la base de datos";
$prueva = new dataBase();
$uni = $prueva->get_universitarios();
foreach($uni as $row)
{
echo "<p>".$row['nombre']."</p>";
}
?>
El error que me muestra es el siguiente:
Estas en la pagina de pruevas de connexion a la base de datos
Fatal error: Using $this when not in object context in C:\AppServ\www\botiga\mydbclass.php on line 25
No se que estoy haciendo mal, si aún no tengo los conocimientos claros, ya que yo programo php en estilo por procedimieno.
Gracias de antemano.