Файловый менеджер - Редактировать - /var/www/readzy/core/src/db.php
Назад
<?php /** * Readzy - Database Class * * @author Daniel Sturrock * @copyright 2019 App Studio Pty Ltd */ namespace readzy; use \PDO; class db { public static $_instance = null; public $_pdo, $_query, $_error = false, $_results, $_last_id, $_columns, $_count = 0; public function __construct($type = 'write') { $this->database = $_ENV['database']['database']; $this->username = $_ENV['database']['username']; $this->password = $_ENV['database']['password']; $this->host_url = ($type == 'read')?$_ENV['database']['read_host']:$_ENV['database']['write_host']; try{ $this->_pdo = new PDO('mysql:host='.$this->host_url.';dbname='.$this->database.';port=3306;charset=utf8', $this->username,$this->password); }catch(PDOException $e) { die($e->getMessage()); } } public static function query($sql, $values = [], $debug=false) { $db = self::$_instance; if(!isset($db)){ $server = self::server($sql); $db = new db($server); self::$_instance = $db; } $db->_error = false; if($db->_query = $db->_pdo->prepare($sql)){ $x = 1; if(count($values)) { foreach($values as $value) { $db->_query->bindValue($x, $value); $x++; } } if($db->_query->execute()) { $db->_results = $db->_query->fetchAll(PDO::FETCH_OBJ); $db->_count = $db->_query->rowCount(); $db->_last_id = $db->_pdo->lastInsertId(); }else{ $db->_error = true; //die('Query Error'); } } self::$_instance = null; $db->_pdo = null; return $db; } public function results() { return $this->_results; } public function first() { return (count($this->_results))?$this->_results[0]:null; } public function error() { return $this->_error; } public function getError(){ if($this->Error()){ $e = $this->_query->errorInfo(); } } public function count() { return $this->_count; } public function last_id() { return $this->_last_id; } public function columns() { return ($this->_count)?array_keys(get_object_vars($this->_results[0])):null; } public static function server($sql){ return (strtolower(explode(' ',trim($sql))[0]) == 'select')?'read':'write'; } } ?>
| ver. 1.4 |
Github
|
.
| PHP 7.0.33-0ubuntu0.16.04.16 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка