Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Eduardo Sodre

classe PDO

Recommended Posts

galera to precisano de ajuda

 

ta dano esse erro

 

Fatal error: Class 'PDO' not found in /home/amigao/public_html/cap3/app.ado/TConnection.class.php on line 52

 

 

segue os codigos

CODE
<?php

/*

* classe TConnection

* gerencia conexões com bancos de dados,

* através de arquivos de configuração.

*/

final class TConnection

{

/*

* método __construct()

* Não existirão instâncias de TConnection

* por isto, estamos marcando-o como private

*/

private function __construct() {}

 

/*

* método open()

* recebe o nome do banco de dados,

* verifica se existe arquivo de configuração

* para ele, e instancia o objeto PDO correspondente

*/

public static function open($name)

{

// verifica se existe arquivo de configuração

// para este banco de dados

if (file_exists("app.config/{$name}.ini"))

{

// lê o INI e retorna um array

$db = parse_ini_file("app.config/{$name}.ini");

}

else

{

// se não existir, lança um erro

throw new Exception("Arquivo '$name' não encontrado");

}

 

// lê as informações contidas no arquivo

$user = $db['user'];

$pass = $db['pass'];

$name = $db['name'];

$host = $db['host'];

$type = $db['type'];

 

// descobre qual o tipo (driver)

// de banco de dados a ser utilizado

switch ($type)

{

case 'pgsql':

$conn = new PDO("pgsql:dbname={$name};user={$user}; password={$pass};host=$host");

break;

case 'mysql':

$conn = new PDO("mysql:host=;port=3307;dbname={$name}", $user, $pass);

break;

case 'sqlite':

$conn = new PDO("sqlite:{$name}");

break;

case 'ibase':

$conn = new PDO("firebird:dbname={$name}", $user, $pass);

break;

case 'oci8':

$conn = new PDO("oci:dbname={$name}", $user, $pass);

break;

case 'mssql':

$conn = new PDO("mssql:host={$host},1433;dbname={$name}", $user, $pass);

break;

}

 

// define para que o PDO lance exceções na ocorrência de erros

$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

 

// retorna o objeto instanciado.

return $conn;

}

}

?>

 

e

 

CODE
<?php

/*

* função __autoload()

* Carrega uma classe quando ela é necessária,

* ou seja, quando ela é instancia pela primeira vez.

*/

function __autoload($classe)

{

if (file_exists("app.ado/{$classe}.class.php"))

{

include_once "app.ado/{$classe}.class.php";

}

}

 

// cria instrução de SELECT

$sql = new TSqlSelect;

// define o nome da entidade

$sql->setEntity('famosos');

// acrescenta colunas à consulta

$sql->addColumn('codigo');

$sql->addColumn('nome');

 

// cria critério de seleção de dados

$criteria = new TCriteria;

// obtém a pessoa de código "1"

$criteria->add(new TFilter('codigo', '=', '1'));

// atribui o critério de seleção de dados

$sql->setCriteria($criteria);

 

try

{

// abre conexão com a base my_livro (mysql)

$conn = TConnection::open('my_livro');

 

// executa a instrução SQL

$result = $conn->query($sql->getInstruction());

if ($result)

{

$row = $result->fetch(PDO::FETCH_ASSOC);

// exibe os dados resultantes

echo $row['codigo'] . ' - ' . $row['nome'] . "\n";

}

// fecha a conexão

$conn = null;

}

catch (PDOException $e)

{

// exibe a mensagem de erro

print "Erro!: " . $e->getMessage() . "<br/>";

die();

}

 

?>

 

alguem sab o erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara você abilitou a extensão no php.ini ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.