Your IP : 18.117.229.191


Current Path : /data/web/virtuals/51568/virtual/www/www/plany/
Upload File :
Current File : /data/web/virtuals/51568/virtual/www/www/plany/DBPDO.php

<?php

class DBPDO
{
    private $dsn = 'mysql:host=md203.wedos.net;dbname=d51568_agenda';
    private $user = 'w51568_agenda';
    private $password = 'GUqCjPwB';
    

    private $options = [
        PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8",
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ,
        PDO::ATTR_EMULATE_PREPARES => false,
    ];    
    private $pdo;
    private $params = [];

	public function __construct()
	{
		$this->params = [$this->dsn, $this->user, $this->password];
		$this->connect();
	}

    public function connect()
	{
		if ($this->pdo) {
			return;
		}

		try {
			$this->pdo = new PDO($this->params[0], $this->params[1], $this->params[2], $this->options);
			$this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
		} catch (PDOException $e) {
			throw $e;
		}       
    }

    public function query($sql, ...$params)
    {
        try
        {
            $navrat = $this->pdo->prepare($sql);
            $navrat->execute($params); 
            return $navrat;    

        }
        catch (PDOException $e)
          {
           throw new Exception('Chyba při provádění DB příkazu. '.$e);
          }
      }

	public function fetchOne($sql, ...$params)
	{
		return $this->query($sql, ...$params)->fetch();
        
	} 
    
    public function fetchOneAsoc($sql, ...$params)
	{ 
         return $this->query($sql, ...$params)->fetch(PDO::FETCH_ASSOC);                             
	}  
    
    public function fetchAll($sql, ...$params)
	{
        return $this->query($sql, ...$params)->fetchAll();
	}

	public function lastInsertId($sequence = null)
	{
		return $this->pdo->lastInsertId($sequence);
	} 
 /*   
    public function call_sp($customerNumber)
    {
      try {
          $pdo = new PDO("mysql:host=localhost;dbname=classicmodels", 'root', '');
  
          // execute the stored procedure
          $sql = 'CALL get_order_by_cust(:no,@shipped,@canceled,@resolved,@disputed)';
          $stmt = $pdo->prepare($sql);
  
          $stmt->bindParam(':no', $customerNumber, PDO::PARAM_INT);
          $stmt->execute();
          $stmt->closeCursor();
  
          // execute the second query to get values from OUT parameter
          $r = $pdo->query("SELECT @shipped,@canceled,@resolved,@disputed")
                    ->fetch(PDO::FETCH_ASSOC);
          if ($r) {
              printf('Shipped: %d, Canceled: %d, Resolved: %d, Disputed: %d',
                  $r['@shipped'],
                  $r['@canceled'],
                  $r['@resolved'],
                  $r['@disputed']);
          }
      } catch (PDOException $pe) {
          die("Error occurred:" . $pe->getMessage());
      }
    } 
    */  
}