Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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?
Carregando comentários...