PHP で新しい PGSQL データベースにアクセスしようとしています。問題は、タイトルに記載されているエラーが表示されることです。直接接続しようとすると。PDOで接続しようとすると、このエラーが発生します。
私がチェックしたもの:
- PHP.ini. 必要な拡張子はコメント解除されています ( php_pgsql.dllとphp_pdo_pgsql.dllの両方) 。
- これら 2 つのファイルが実際に PHP フォルダーにあることを確認してください。
簡単なスクリプトを使用して、データベース、ホスト、ユーザー、パス、およびポートが正しいことを確認します (以下を参照)。
これは、データベースをセットアップするための私の構成ファイルです (私は 6 つのデータベースを正しく使用しています。そのため、そのファイルに障害がないことはわかっています)。
"Aeges":{ "pdo_driver":"odbc", "user":"XXXX", "password":"XXXX", "database":"test", "host":"localhost", "port":1233 }, "Postgre":{ "pdo_driver":"pgsql", "user":"XXXX", "password":"XXXX", "database":"ASN", "host":"localhost", "port":5432 } etc..
これは、情報を取得するための私の機能です。わかりやすいように少し整理しました
public static function findAvailableASN()
{
$Postgre = db\Factory::getInstance()->create('Postgre');
$stmt = $Postgre->prepare("select * from asnregel.asnregel");
if ($stmt->execute())
{
return $stmt->fetchAll(\PDO::FETCH_ASSOC);
}
/* $connect = pg_connect("host=localhost port=5432 dbname=ASN user=XXXX password=XXXX");
if(!$connect) {
die("Error in connection: ".pg_last_error());
}
$sql = "select * from asnregel.asnregel";
$result = pg_query($connect,$sql);
if(!$result) {
die("Error in sql query: ".pg_last_error());
}
while($row = pg_fetch_array($result)) {
echo $row[0].'<br/>';
echo $row[1].'<br/>';
echo $row[2].'<br/>';
echo $row[3].'<br/>';
}
pg_free_result($result);
pg_close($connect); */
}
問題は、最初の部分 (PDO の部分) が機能しないことです。コメントされている間(PDOのない部分)はそうです。ちょっと変ですよね?
これを手伝ってくれる人はいますか?