Лучший способ сделать статический класс соединения PDO mysql?

Я новичок в PDO, а также в ООП с PHP в целом, поэтому, пожалуйста, будьте любезны :) В основном я пытаюсь создать объект соединения на основе PDO, чтобы у меня было одно соединение, которое я вызываю на своем сайте. .

Мне нужны подготовленные операторы, которые просто ищут разные результаты на основе идентификатора, который я передаю, используя тот же объект базы данных, который я пытаюсь создать ниже.

Как мне создать и получить доступ к классу db, который я установил ниже, а затем использовать функции внутри него для извлечения необходимой информации? Любые примеры были бы замечательны, так что я могу получить представление о лучших практиках и т. д.

Большое спасибо заранее.

class db {

    private static $connection;

    private function __construct(){}
    private function __clone(){}

    private static function connect($db_server="localhost", $db_user="user", $db_pass="password") {
        if(!$this->connection){
            try{
                $this->connection = new PDO($db_server, $db_user, $db_pass);
            } catch (PDOException $e) {
                $this->connection = null;
                die($e->getMessage());
            }
        }
        return $this->connection;
    }

}

$dbh = new db::connect();

$stmt = $dbh->prepare("SELECT * FROM questions where id = ?");
if($stmt->execute(array($_REQUEST['testid']))) {
  while ($row = $stmt->fetch()) {
    print_r($row);
  }
}
7
задан Your Common Sense 18 March 2016 в 16:20
поделиться