Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - rocacasterli

Páginas: [1]
1
(POO) Programación Orientada a Objetos / Poblema connexión mysqli
« en: 14 de Junio de 2014, 01:27:20 am »
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.

Páginas: [1]