は私のコードです:PDOでのクエリのためにPHP PDO接続
<?php
class DatabaseConnection {
private $dbname = "db_01";
private $host = "localhost";
private $user = "xxx";
private $password = "xxxxxx";
private $port = 5432;
private $DBH;
public function __construct() {
try {
$this->DBH = new PDO("pgsql:host=$this->host;port=$this->port;dbname=$this->dbname;user=$this->user;password=$this->password");
} catch(PDOException $e) {
echo $e->getMessage();
}
}
public function disconnect() {
$this->DBH = null;
}
}
?>
私は$ DBH-を使用する必要があります>クエリ( 'SELECT * from user ');
他のクラスの私の接続クラスはどうですか?
例
<?php
include "DatabaseConnection.php";
class User {
private $connection;
public function getUser() {
$this->connection = new DatabaseConnection();
$STH = $this->connection->query('SELECT * from User');
}
}
?>
しかし、それは動作していません。
どのような体は私を助けることができますか?感謝:)
UPDATE:
後従っヨナは、
<?php
class DatabaseConnection extends PDO {
private $dbname = "db_01";
private $host = "localhost";
private $user = "xxx";
private $password = "xxxxxxxxx";
private $port = 5432;
public function __construct() {
try {
parent::__construct("pgsql:host=$this->host;port=$this->port;dbname=$this->dbname;user=$this->user;password=$this->password");
} catch(PDOException $e) {
echo $e->getMessage();
}
}
public function disconnect() {
$this = null;
}
}
?>
を示唆して私がメッセージブラウザに "接続がリセットされた" しまった、いただきました!間違っていますか?
エラーメッセージまたは正確に何が失敗するのかの説明を提供できますか?私の推測は、 'DatabaseConnection'クラスに' query'という名前のメソッドが存在しないということです。 – vstm
@vstm:いいえ、何も表示されず、何も得られません。あなたは前にPDOを持っていますか? – Ahmad
何も表示されない場合、最終的にエラーはなく、スクリプトは出力を生成しません。一方、PHPはエラーメッセージを抑制することができます。 'display_errors'が** on **で、' error_reporting'が 'E_ALL | 'に設定されていればphp.iniをチェックインしてください。 E_STRICT 'とする。 'display_errors'がオンでまだ出力がない場合は、' echo "hello world"; 'を追加して、スクリプトが正しく実行されているかどうかを確認してください。 – vstm