junior-kun
(usa Ubuntu)
Enviado em 21/02/2012 - 00:26h
boa noite eu to com uma duvida em um site q to fazendo pra aprende orientação a objeto em php, so q meu site tah encrencando em algum lugar e entrando em uma chamada infinita de metodos, segue abaixo o codigo, o erro q aparece eh esse Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 6144 bytes) in C:\xampp\htdocs\PHP\Classes\Marca.php on line 43
1ºMarcaSite:
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="utf-8">
<title>HTML5 - Estrutura Básica</title>
</head>
<body>
<form method="post" action="CadastraMarca.php">
<label for="txtDescricao">Descrição:</label>
<input type="text" id="txtDescricao" name="txtDescricao">
<br>
<input type="submit" value="Inserir">
</body>
</html>
2ºCadastraMarca
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="utf-8">
<title>HTML5 - Estrutura Básica</title>
</head>
<body>
<?php
include_once ("../Classes/Marca.php");
$Marca = new Marca();
$Marca->getDescricao($_POST['txtDescricao']);
$Marca->Inserir();
?>
</body>
</html>
3ºMarca
<?php
include ('../ClassesBD/MarcaBD.php');
class Marca
{
private $codMarca;
private $descricao;
public function getCodMarca ($codMarca)
{
$this->codMarca = $codMarca;
}
public function setCodMarca ()
{
return ($codMarca);
}
public function getDescricao ($descricao)
{
$this->descricao = $descricao;
}
public function setDescricao ()
{
return ($descricao);
}
public function Inserir()
{
return (MarcaBD::inserir($this));
}
public function Alterar()
{
return (MarcaBD::alterar($this));
}
public function Excluir()
{
return (MarcaBD::excluir($this));
}
public static function selecionarUm($codMarca)
{
return (MarcaBD::selecionarUm($codMarca));
}
public static function selecionarTodo()
{
return (MarcaBD::selecionarTodos());
}
}
?>
4ºMarcaBD
<?php
include('../Classes/Marca.php');
include ('Conexao.php');
class MarcaBD
{
public static function selecionarUm ($codMarca)
{
try{
$conexao = new Conexao();
$query=mysql_query("SELECT * FROM VIEWMARCAS where MAR_CODIGO ='$codMarca'");
if ($linha=mysql_fetch_array($query)) {
$novaMarca = new Marca();
$novaMarca->setDescricao($query("mar_descricao"));
return(novaAcao);
}
}catch( Exception $excecao){
?>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
alert ("Erro no metodo Selecionar da marca!")
</SCRIPT>
<?php
return (null);
}
}
public static function selecionarTodos ()
{
$vetMarcas = array();
try{
$query=mysql_query("SELECT * FROM VIEWMARCAS");
while($acao=mysql_fetch_array($query)){
$novaMarca = new Marca();
$novaMarca->setDescricao($query("mar_descricao"));
$vetMarcas[]=$novaMarca;
}
return($vetMarcas);
}catch( Exception $excecao){
?>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
alert ("Erro no metodo Selecionar todas as marcas! <?=$excecao->getMessage()?>")
</SCRIPT>
<?php
return (null);
}
}
public static function inserir ($novoMarca)
{
try{
$conexao = new Conexao();
$novaMarca = new Marca();
$query=mysql_query("{call IN_PRC_MAR_MARCAS (?)}");
$query(1, getDescricao());
$query->execute();
return(true);
}catch(Exception $excecao){
?>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
alert ("Erro no metodo Inserir marca! <?=$excecao->getMessage()?>")
</SCRIPT>
<?php
return(false);
}
}
public static function alterar ($novaMarca)
{
try{
$conexao = new Conexao();
$novaMarca = new Marca();
$query=mysql_query("{call AL_PRC_MAR_MARCAS (?,?)}");
$query(1, getCodMarca());
$query(2, getDescricao());
$query->execute();
return(true);
}catch(Exception $excecao){
?>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
alert ("Erro no metodo Alterar ação! <?=$excecao->getMessage()?>")
</SCRIPT>
<?php
return(false);
}
}
public static function excluir ($novaMarca)
{
try{
$conexao = new Conexao();
$novaMarca = new Marca();
$query=mysql_query("{call DEL_PRC_MAR_MARCAS (?)}");
$query(1, setCodMarca());
return(true);
}catch(Exception $excecao){
?>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
alert ("Erro no metodo Excluir marca! <?=$excecao->getMessage()?>")
</SCRIPT>
<?php
return(false);
}
}
}
?>
5ºConexao
<?php
$conexao=mysql_connect("Localhost","root","");
$db=mysql_select_db("loja",$conexao);
?>