Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia pessoALL, tenho a seguinte classe de conexao:
class MySQLiConnection extends mysqli {
public $servidor;
public $usuario;
public $senha;
public $banco;
function __construct($servidor, $usuario, $senha, $banco) {
$this->servidor = $servidor;
$this->usuario = $usuario;
$this->senha = $senha;
$this->banco = $banco;
}
public function conectar()
{
try
{
parent::__construct($this->servidor, $this->usuario, $this->senha, $this->banco);
if(mysqli_connect_errno() != 0)
{
throw new Exception('Erro ao conectar!');
}
}
catch(Exception $e)
{
echo $e->getMessage();
}
}
}
$db = new MySQLiConnection(CON_HOST, CON_USER, CON_PWD, CON_DB);
$db->conectar();
quanto tento untiliza-lo dentro de uma função, dá erro...diz Undefined variable: db:
function __cadastra_proprietario(){
if(filter_input(INPUT_POST,'nome')):
$nome = filter_input(INPUT_POST,'nome');
$slq = $db->query("INSERT INTO tb_proprietarios (proprietario_id, nome)VALUES(null,'$nome')");
endif;
}
onde estou errando???
devo usar isso dentro da função global $db;
seria a forma mais "correta"...não quero usar nada obsoleto.
"o mais correto" não é
o ideal é não utilizar variáveis globais. Você pode modificá-las "sem querer" em algum lugar. Aí achar o problema vai te dar dor de cabeça
Prefira passar parâmetros
beraldo, fiz assim:
function __cadastra_proprietario($db){....
Ai chamei a funcao __cadastra_proprietario($db) e deu certo....
É isso mesmo?
exato
é melhor passar parâmetro do que usar variáveis globais
então tá resolvido parceito...valeu!
ps.estou dando uma olhada no seu video, sobre o curso...se pá, eu faço ele.
ps.estou dando uma olhada no seu video, sobre o curso...se pá, eu faço ele.
Modéstia à parte, vale a pena :)
Tem email/senha de demonstração. Dá uma olhada na seção "CONHEÇA A PLATAFORMA DO CURSO"
Bons estudos :)
show!
$db é uma variável local à função
Leia sobre Escopo de Variáveis e entenderá:
http://php.net/manual/pt_BR/language.variables.scope.php