Julian Lopes Postado Janeiro 21, 2023 Denunciar Share Postado Janeiro 21, 2023 Boa tarde... Estou tentando fazer a conexão com o banco de dados mas está dando erro e não consegui achar o que estou errando kkkk... Segue o código abaixo: class MySQL extends PDO implements Countable { private $_host = 'localhost'; private $_username = 'aaaaaa'; private $_password = 'bbbbbbb'; private $_dbname = 'cccccc'; private $_port = 3306; private $_charset = 'latin1'; private $_query = null; public function __construct() { parent::__construct("mysqli:host={$this->_host};dbname={$this->_dbname};port={$this->_port}", $this->_username, $this->_password, array( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION )); $this->executar("SET NAMES {$this->_charset}"); } } O que será que estou errando? Desde já agradeço a ajuda de alguém... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Frank K Hosaka Postado Janeiro 21, 2023 Denunciar Share Postado Janeiro 21, 2023 (editado) Passei o dia todo estudando a função __construct( ). Ele não é nada fácil, o máximo que eu consegui com o meu método científico de tentativa e erro foi isso: <?php class conexao extends \PDO { public $bd=null; public $dsn="mysql:dbname=astudy;host=localhost"; public $username='root'; public $password=''; function __construct(){ $this->bd = new PDO($this->dsn,$this->username,$this->password); return $this->bd;}} $frank= new conexao; $query=$frank->bd->query("select * from tbprod"); var_dump($query->fetch()); Eu tentei escrever $frank->query, mas o PHP reclamou que eu não inicializei o objeto PDO, que eu deveria fazer uma referência ao construtor. A única maneira que eu vi para fazer referência ao construtor foi puxando a propriedade bd, ou seja, $frank->bd Na montagem da classe, note que coloquei todas as variáveis como público. Você pode mudar tudo para private, menos o $bd. Editado Janeiro 22, 2023 por Frank K Hosaka Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Julian Lopes
Boa tarde...
Estou tentando fazer a conexão com o banco de dados mas está dando erro e não consegui achar o que estou errando kkkk...
Segue o código abaixo:
class MySQL extends PDO implements Countable
{
private $_host = 'localhost';
private $_username = 'aaaaaa';
private $_password = 'bbbbbbb';
private $_dbname = 'cccccc';
private $_port = 3306;
private $_charset = 'latin1';
private $_query = null;
public function __construct()
{
parent::__construct("mysqli:host={$this->_host};dbname={$this->_dbname};port={$this->_port}", $this->_username, $this->_password, array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
));
$this->executar("SET NAMES {$this->_charset}");
}
}
O que será que estou errando?
Desde já agradeço a ajuda de alguém...
Link para o comentário
Compartilhar em outros sites
1 resposta 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.