Preciso de Ajuda. Tenho nos meus projetos a conexão desta forma:
$conexao = new PDO('mysql:host=localhost;dbname=meubanco','meuuser','minhasenha');
Funciona Normal. Porem peguei um projeto que usa a conexão dentro de uma classe da seguinte forma:
Classe: dbconn.php
<?php class dbconn
{ public $dblocal;
public function __construct()
{
}
public function initDBO()
{
$this->dblocal = new PDO("mysql:host=localhost;dbname=meubanco;charset=latin1","meuuser","minhasenha",array(PDO::ATTR_PERSISTENT => true));
$this->dblocal->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
}
}
?>
Também funciona. Mas a tenho uma de minhas páginas que fazia acesso ao select fazendo referencia à conexão com o banco usando a variável $conexaõ da seguinte forma:
<?php
if(isset($_POST['logar']))
{
$usuario=trim(strip_tags($_POST['usuario']));
$senha=trim(strip_tags($_POST['senha']));
$select = "SELECT * from tab_usuarios WHERE email=:usuario AND senha=:senha";
try
{
$result = $conexao->prepare($select); //$conexão vem do arquivo conexao.php ---Aqui gera o erro. Qual erro? A variavel $conexão não existe. Claro. Já era de se esperar...
$result->bindParam(':usuario',$usuario, PDO::PARAM_STR);
$result->bindParam(':senha',$senha, PDO::PARAM_STR);
$result->execute();
... //continua
?>
Meu problema: No arquivo de Conexao com o banco agora está dentro de uma classe e não usa mais a variável $conexão. Em seu lugar está a psedo-variável $this. Sei que não basta apenas trocar a variável $conexao pela $this... O que fazer? devo mexer só nesta linha? tem mais coisa, tipo instanciar .... Não sei o que devo alterar ra isso continuar funcionando. Estou estudando aqui PDO | POO, lendo muito, vendo videos ..., mas preciso de ajuda com isso... $result = $conexao->prepare($select);
Grata.