Pessoal, esta é minha classe de conexão:
> <?php > Class Conexao extends Config > { > private $host, $user, $senha, $banco; > > function __construct() > { > $this->host = self::BD_HOST; > $this->user = self::BD_USER; > $this->senha = self::BD_SENHA; > $this->banco = self::BD_BANCO; > $this->prefix = self::BD_PREFIX; > > try > { > if($this->Conectar() == null) > { > $this->Conectar(); > } > } > catch (Exception $e) > { > exit($e->getMessage() . 'Erro ao conectar com o banco de dados!'); > } > } > private function Conectar() > { > $options = array( > PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8", > PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING > ); > > $link = new PDO("mysql:host={$this->host};dbname{$this->banco}", $this->user, $this->senha, $options); > return $link; > } > > function ExecuteSQL($query, array $params = NULL) > { > $this->obj = $this->Conectar()->prepare($query); > **return $this->obj->execute();** /*ERRO NESSA LINHA */ > } > > function ListarDados() > { > return $this->obj->fetch(PDO::FETCH_ASSOC); > } > } > ?>
Quando mando fazer um select dessa maneira:
> $sql = "select * from categorias";
> $dados->ExecuteSQL($sql);
> $lista = $dados->ListarDados($sql);
> echo '<pre>';
> var_dump($lista);
> echo '</pre>';
Aparece esse aviso:
Warning: PDOStatement::execute(): SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected in C:\xampp\htdocs\ipeloja\model\Conexao.class.php on line 40
que rerefe-se a linha em negrito na classe. O que estou fazendo de errado? Obrigado