Quantcast
Channel: Tópicos
Viewing all articles
Browse latest Browse all 14700

[Dúvida] Php Orientado Por Objectos com Mysqli

$
0
0
Boas, eu tenho o seguinte código:

Ficheiro : sisFunctions.inc.php
Código (PHP):
<?php

#  ----------------------------------------------
# |      File: sisFunctions.inc.php        |
# |      Developed: Eduardo Bessa     |
# |      Web app: Sirl Manutencão        |
# -----------------------------------------------

# Class com as definições e funções todas do MySql
class stMySqlSettings
{
       protected $stHost                                              =                             "127.0.0.1";          # IP do servidor MySql
       protected $stUser                                             =                             "root";                    # Utilizador do servidor MySql
       protected $stPass                                             =                             "rootroot";            # Password do utilizador
       protected $stName                                         =                            "db_sirlman";        # Nome da base de dados

       /* Variáveis públicas */
       public $MySqlConnect                                    =                            null;
       public $MySqlQueryTypes                                =                            null;
       public $MySqlTables

       #Função que constrói a ligação com o servidor MySql
       public function __construct()        {
           # Conecta com o servidor
           $this->$MySqlConnect = mysqli_connect($this->stHost, $this->stUser, $this->stName);
       }

       # Função que destroi a ligação com o servidor
       public function __destruct()        {
           # Verifica se a ligação com o servidor ainda está a funcionar
           if($this->MySqlConnect != null)
           {
               # Caso a ligação esteja a funcionar ele irá desconectar a ligação
               mysqli_close($this->MySqlConnect);
           }
       }

       # Função que executa a query
       public function MySqlQuery($a, $b = null)
       {
           # Verifica se existe alguma query para executar
           if($a != null)
           {
               # Caso haja ele vai executar a query
               $MySqlQuery = $this->query($a);

               # E verifica que tipo de dados usa
               if($b) == "types")
               {
                   $this->MySqlQueryTypes = $MySqlQuery;
               }
           }

           # Retorna o valor da variavel "$MySqlQuery"
           return $MySqlQuery;
       }

       # Função pública que seleciona o tipo de dados
       public function MySqlSelectTypeData($a)
       {

           #Verifica que tipos de dados precisamos
           switch($a)
           {
               case("rows")        : return mysqli_num_rows($this->MySqlQueryTypes);
               case("array")        : return mysqli_fetch_array($this->MySqlQueryTypes);
               case("assoc")        : return mysqli_fetch_assoc($this->MySqlQueryTypes);
               default : return mysqli_fetch_object($this->MySqlQueryTypes);
           }
       }

       # Função  pública para inserir dados
       public function MySqlInsertData($a)
       {
           $x = array();
           $y = array();

           for($i =  0; $i < count($a); $i++)
           {
               foreach($a[$i] as $camp => $value)
               {
                   eval("\$x[".$i."] = '".$camp."'; \$y[".$i."] = '".$value."';");
               }
           }

           $MySqlInsertData = "INSERT INTO `".$this->MySqlTables."` (";

           for($i = 0;$i < count($x); $i++)
           {
               $MySqlInsertData .= "`".$x[$i]."`";
               if($i < (count($x) - 1))
               {
                   $MySqlInsertData.= ", ";
               }
           }

           $MySqlInsertData .= ") VALUES (";

           for($i = 0;$i < count($y); $i++)
           {

               $MySqlInsertData .= is_numeric($y[$i]) ? : "'".$y[$i]."'";
               $MySqlInsertData .= "`".$y[$i]."`";
               if($i < (count($y) - 1))
               {
                   $MySqlInsertData.= ", ";
               }else{
                   $MySqlInsertData .= ");";
               }
           }

           return $this->MySqlQuery(MySqlInsertData);

       }

       # Função pública para atualizar dados
       public function MySqlUpdateData($a, $b, $c)
       {
           $x = array();
           $y = array();

           for($i =  0; $i < count($a); $i++)
           {
               foreach($a[$i] as $camp => $value)
               {
                   eval("\$x[".$i."] = '".$camp."'; \$y[".$i."] = '".$value."';");
               }
           }

           $MySqlUpdateData = "UPDATE `".$this->MySqlTables."` SET"

           for($i = 0; $i < count($x); $i++ ;)
           {
               $MySqlUpdateData  .= "`".$x[$i]."`='".$y[$i]."'";
               if($i < (count(($y) - 1))
               {
                   $MySqlUpdateData .= ", ";
               }
           }

           $MySqlUpdateData .= " WHERE (`".$b."`='".."');"

           return $this->MySqlQuery($MySqlUpdateData);

       }

       # Função pública para apagar dados
       public function MySqlDeleteData($a, $b)
       {
           $MySqlDeleteData = "DELETE FROM `".$this->MySqlTables."` WHERE (`".$a."`='".$b."');";

           return $this->MySqlQuery($MySqlDeleteData);
       }

       # Função pública que seleciona  os dados
       public function MySqlSelectData($a, $b)
       {
           $MySqlSelectData = "SELECT * FROM `".$this->MySqlTables."`";

           if($a != null)
           {
               $MySqlSelectData .= " WHERE ".$a.";";
           }elseif($b ! = null)
           {
               $MySqlSelectData .= " ".$b.";";
           }

           return $this->MySqlQuery($MySqlSelectData, "types");
       }

       $MySqlFunction = new MySqlFunction;


}

class dateTime
{

   public function dateMoth()
   {

       $m = date('m');
       $moth = array(1=>"janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro");
   }

}

Ficheiro: sisLogin.inc.php
Código (PHP):
<?php

   #  ----------------------------------------------
   # |      File: sisLogin.inc.php        |
   # |      Developed: Eduardo Bessa     |
   # |      Web app: Sirl Manutencão        |
   # -----------------------------------------------
   require_once('./sisClass_Settings.inc.php');

   $query = "(`accountLogin`='".$_POST['userLogin']."') AND (`accountPass`='".$_POST['userPass']."')";

   $MySqlFunction->MySqlTables = "tbl_accounts";
   $MySqlFunction->MySqlSelectData($query, null);

   $object  = $MySqlFunction->MySqlSelectType();
   echo("Bem-vindo <i>".$this->accountLogin."</i>");


?>

Aparece-me os seguintes erros:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
PHP Notice:  Undefined variable: MysqlQuery in C:\inetpub\wwwroot\PAP2\sisPhp\sisClass_Settings.inc.php on line 29
PHP Notice:  Undefined variable: MysqlQuery in C:\inetpub\wwwroot\PAP2\sisPhp\sisClass_Settings.inc.php on line 33
PHP Warning:  mysqli_fetch_object() expects parameter 1 to be mysqli_result, null given in C:\inetpub\wwwroot\PAP2\sisPhp\sisClass_Settings.inc.php on line 42
PHP Notice:  Trying to get property of non-object in C:\inetpub\wwwroot\PAP2\sisPhp\sisLogin.inc.php on line 11
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Podem-me ajudar sfv :), Agradeço desde já a atenção...

Viewing all articles
Browse latest Browse all 14700