//Resolvido, mas aqui porque ninguém responde mais minhas perguntas? :blink:
Bom fim de semana a todos,
Continuando meu estudo de classe criei uma classe simples de coneexão mysql e agora estou tentando fazer uma classe insert (sem ser por herança), no entanto estou tento problemas em passar o metodo de conexão de uma classe para outra mesmo o metdo sendo public
class mysql
class conexaoMySQL {
protected $host;
protected $user;
protected $senha;
public $conn;
// Controi os metodos
public function __construct($host, $user, $senha) {
$this->host = $host;
$this->user = $user;
$this->senha = $senha;
$this->banco = $banco;
$this->query = $query;
$this->conn = $conn;
}
// Testa conexao e conecta se sim se não joga pra funcao erro
function conecta() {
if ($this->conn = mysql_connect($this->host, $this->user, $this->senha)) {
return $this->conn;
} else {
return $this->erro();
}
....
$objtCad = new cadastro("es_configs","titulo","teste","sim","acoes.php?acao=cadastroSucesso");
$objtCad->inserirCadastro();
// retorno
Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource on line 35
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource on line 36
O problema parece ser que o $this->conn nas linhas do mysql_select_db e mysql_query não funciona, achei que por ter declarado o mesmo como public poderia passar ele pra qualquer outra classe carregada posteriormente à aquela sem problemas, no entanto parece que não.
Como faço para passar está varriável e porque assim não funciona?
Pergunta
Norivan Oliveira
//Resolvido, mas aqui porque ninguém responde mais minhas perguntas? :blink:
Bom fim de semana a todos,
Continuando meu estudo de classe criei uma classe simples de coneexão mysql e agora estou tentando fazer uma classe insert (sem ser por herança), no entanto estou tento problemas em passar o metodo de conexão de uma classe para outra mesmo o metdo sendo public
class mysql
class conexaoMySQL { protected $host; protected $user; protected $senha; public $conn; // Controi os metodos public function __construct($host, $user, $senha) { $this->host = $host; $this->user = $user; $this->senha = $senha; $this->banco = $banco; $this->query = $query; $this->conn = $conn; } // Testa conexao e conecta se sim se não joga pra funcao erro function conecta() { if ($this->conn = mysql_connect($this->host, $this->user, $this->senha)) { return $this->conn; } else { return $this->erro(); } ....class insertclass cadastro { protected $tabela; protected $colunas; protected $valores; protected $sqlInserir; protected $enviado; protected $urlgo; protected $conexao; function __construct($tabela, $coluna, $valores, $enviado, $urlgo) { $this->tabela = $tabela; $this->colunas = $colunas; $this->valores = $valores; $this->enviado = $enviado; $this->urlgo = $urlgo; } function inserirCadastro() { if ((isset($this->enviado)) && ($this->enviado == "sim")) { $sqlInserir = sprintf("INSERT INTO".$this->tabela." (".$this->colunas.") VALUES (".$this->valores.")"); mysql_select_db(_BANCO_, $this->conn); mysql_query($sqlInserir, $this->conn) or die(mysql_error()); echo "<script>window.alert("._INSERTSUCESSO_.");</script>"; header("location: ".$this->urlgo); } } }instancia$objtCad = new cadastro("es_configs","titulo","teste","sim","acoes.php?acao=cadastroSucesso"); $objtCad->inserirCadastro();// retornoO problema parece ser que o $this->conn nas linhas do mysql_select_db e mysql_query não funciona, achei que por ter declarado o mesmo como public poderia passar ele pra qualquer outra classe carregada posteriormente à aquela sem problemas, no entanto parece que não.
Como faço para passar está varriável e porque assim não funciona?
Agradeço desde já :)
Editado por Norivan OliveiraLink para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.