リモートのOracleデータベースに接続して簡単なクエリを実行するスクリプトをハックしようとしています
広範な検索を通じて、次のスクリプトを見つけました。
<?
$tns = "
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = bogus.com.au)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = myDB )
)
)
";
$pdo_string = 'oci:dbname='.$tns;
try {
$dbh = new PDO($pdo_string, 'test', 'fake');
} catch (PDOException $e) {
echo "Failed to obtain database handle: " . $e->getMessage();
exit;
}
$query = "SELECT * FROM someTable";
$stmt = $dbh->prepare($query);
if ($stmt->execute()) {
echo "<h4>$query</h4>";
echo "<pre>";
while ($row = $stmt->fetch()) {
print_r($row);
}
echo "</pre>";
}
?>
ただし、エラーが発生しますcould not find driver
。だから私はした:
foreach(PDO::getAvailableDrivers() as $driver)
echo $driver, '<br>';
返されたもの:
mysql
odbc
sqlite
これは、ドライバーがインストールされていることを示しています。はい?
私は何を間違っていますか?(確かに、私はOracleデータベースでのPHPの知識がほとんどまたはまったくないので、あからさまに明らかなことを見逃しているかもしれません..)