Saulo Telles Posted February 1, 2012 Report Share Posted February 1, 2012 Estou continuando o trabalho de outro programador, mas não acho o motivo do erro nessa classe! O único erro que vejo e o 'parent'!Se algum puder me ajudar, por MSN seria otimo, pois tenho ate 6 feira (3/12/2012) para fazer isso funcionar!Ajudem plz!!!! :( <?phpclass MySQL{ /* * Criação de variáveis */ //(boolean) Status da conexão private $con_status; //singleton private static $_instance; public static function iniciar() { if (!self::$_instance instanceof self) { self::$_instance = new self(); } return self::$_instance; } /* * Método construtor: * * Abre conexão com o servidor. Se algum erro ocorrer, * o erro é mostrado e a classe morre. * * @retorno * $con_status = true: Se conexão estiver OK */ public function __construct($db_host = '', $db_user = '', $db_pass = '', $db_name = '') { // *** $sqlConnect = mysql_connect(DB_HOST, DB_USER, DB_PASS); // *** //Realiza conexão if (empty($db_host)) { parent::__construct(DB_HOST, DB_USER, DB_PASS, DB_NAME); } else { parent::__construct($db_host, $db_user, $db_pass, $db_name); } //Verifica se existem erros if (mysqli_connect_error($sqlConnect)) { die("Erro na conexão: " . mysqli_connect_error()); } // *** $conexao = $sqlConnect ? 'conectado' : 'não conectado'; echo $conexao; // *** //Seta status da conexão como TRUE $this->con_status = true; return $this->con_status; } /* * Método destrutor: * * Fecha conexão apenas se o valor da variável que guarda * o status da conexão ($con_status) for TRUE. */ /*public function __destruct() { if($this->con_status) { parent::close(); unset($this->con_status); } }*/ /* * Retorna resultado único de uma query, sempre a primeira * coluna da primeira linha independente de quantas linhas * ou colunas o resultado tiver. * * @args: * $query: SQL Query * * @retorno: * $linha[0]: Primeira coluna da primeira linha */ public function getResult($query) { //Executa SQL Query $resultado = parent::query($query); //Verifica se existe erros if(mysqli_error($this)) { die("Erro ao executar query: " . mysqli_error($this)); } //Pega apenas primeira linha do resultado da SQL Query $linha = mysqli_fetch_row($resultado); //Retorna apenas primeiro coluna da linha return $linha[0]; } /* * Retorna todas as linhas e colunas de uma consulta SQL. * * @args: * $query: SQL Query * * @retorno: * $resultado_query: Array com todas as linhas e colunas da consulta */ public function getRows($query) { //Executa query $resultado = parent::query($query); //Verifica se existem erros if(mysqli_error($this)) { die("Erro ao executar query: " . mysqli_error($this)); } //De: http://php.net/manual/en/function.mysql-fe...array.php#87201 //Pega todos as linhas da consulta. Um elemento vazio é adiciona no final.] for($i = 0; $resultado_query[$i] = mysqli_fetch_assoc($resultado); $i++); //Remove o último elemento do array, o vazio. array_pop($resultado_query); //Retorna todas as linhas return $resultado_query; } /* * Retorna linha unica com diversas colunas (se houver) * de uma query. * * @args: * $query: SQL Query * * @retorno: * $linha: Array com todas as colunas da consulta */ public function getRow($query) { //Executa query $resultado = parent::query($query); //Verifica se existem erros if(mysqli_error($this)) { die("Erro ao executar query: " . mysqli_error($this)); } //Pega apenas primeira linha de resultado $linha = mysqli_fetch_assoc($resultado); //Retorna linha com suas colunas return $linha; }}?> Quote Link to comment Share on other sites More sharing options...
0 Mad Jonathan Posted February 1, 2012 Report Share Posted February 1, 2012 O erro está no "parent", pois a classe MySQL deveria ter herdado outra classe que contenha os métodos "__construct", "query" e "close". Quote Link to comment Share on other sites More sharing options...
Question
Saulo Telles
Estou continuando o trabalho de outro programador, mas não acho o motivo do erro nessa classe! O único erro que vejo e o 'parent'!
Se algum puder me ajudar, por MSN seria otimo, pois tenho ate 6 feira (3/12/2012) para fazer isso funcionar!
Ajudem plz!!!! :(
<?php
class MySQL
{
/*
* Criação de variáveis
*/
//(boolean) Status da conexão
private $con_status;
//singleton
private static $_instance;
public static function iniciar()
{
if (!self::$_instance instanceof self)
{
self::$_instance = new self();
}
return self::$_instance;
}
/*
* Método construtor:
*
* Abre conexão com o servidor. Se algum erro ocorrer,
* o erro é mostrado e a classe morre.
*
* @retorno
* $con_status = true: Se conexão estiver OK
*/
public function __construct($db_host = '', $db_user = '', $db_pass = '', $db_name = '')
{
// ***
$sqlConnect = mysql_connect(DB_HOST, DB_USER, DB_PASS);
// ***
//Realiza conexão
if (empty($db_host))
{
parent::__construct(DB_HOST, DB_USER, DB_PASS, DB_NAME);
}
else
{
parent::__construct($db_host, $db_user, $db_pass, $db_name);
}
//Verifica se existem erros
if (mysqli_connect_error($sqlConnect))
{
die("Erro na conexão: " . mysqli_connect_error());
}
// ***
$conexao = $sqlConnect ? 'conectado' : 'não conectado';
echo $conexao;
// ***
//Seta status da conexão como TRUE
$this->con_status = true;
return $this->con_status;
}
/*
* Método destrutor:
*
* Fecha conexão apenas se o valor da variável que guarda
* o status da conexão ($con_status) for TRUE.
*/
/*public function __destruct()
{
if($this->con_status)
{
parent::close();
unset($this->con_status);
}
}*/
/*
* Retorna resultado único de uma query, sempre a primeira
* coluna da primeira linha independente de quantas linhas
* ou colunas o resultado tiver.
*
* @args:
* $query: SQL Query
*
* @retorno:
* $linha[0]: Primeira coluna da primeira linha
*/
public function getResult($query)
{
//Executa SQL Query
$resultado = parent::query($query);
//Verifica se existe erros
if(mysqli_error($this))
{
die("Erro ao executar query: " . mysqli_error($this));
}
//Pega apenas primeira linha do resultado da SQL Query
$linha = mysqli_fetch_row($resultado);
//Retorna apenas primeiro coluna da linha
return $linha[0];
}
/*
* Retorna todas as linhas e colunas de uma consulta SQL.
*
* @args:
* $query: SQL Query
*
* @retorno:
* $resultado_query: Array com todas as linhas e colunas da consulta
*/
public function getRows($query)
{
//Executa query
$resultado = parent::query($query);
//Verifica se existem erros
if(mysqli_error($this))
{
die("Erro ao executar query: " . mysqli_error($this));
}
//De: http://php.net/manual/en/function.mysql-fe...array.php#87201
//Pega todos as linhas da consulta. Um elemento vazio é adiciona no final.]
for($i = 0; $resultado_query[$i] = mysqli_fetch_assoc($resultado); $i++);
//Remove o último elemento do array, o vazio.
array_pop($resultado_query);
//Retorna todas as linhas
return $resultado_query;
}
/*
* Retorna linha unica com diversas colunas (se houver)
* de uma query.
*
* @args:
* $query: SQL Query
*
* @retorno:
* $linha: Array com todas as colunas da consulta
*/
public function getRow($query)
{
//Executa query
$resultado = parent::query($query);
//Verifica se existem erros
if(mysqli_error($this))
{
die("Erro ao executar query: " . mysqli_error($this));
}
//Pega apenas primeira linha de resultado
$linha = mysqli_fetch_assoc($resultado);
//Retorna linha com suas colunas
return $linha;
}
}
?>
Link to comment
Share on other sites
1 answer to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.