Create New Item
×
Item Type
File
Folder
Item Name
×
Search file in folder and subfolders...
File Manager
/
wp-content
/
plugins
/
unlimited-elements-for-elementor
/
inc_php
/
framework
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php defined('UNLIMITED_ELEMENTS_INC') or die('Restricted access'); class UniteMySql { const TYPE_KEY = "INTEGER PRIMARY KEY NOT NULL AUTO_INCREMENT"; const TYPE_STRING = "VARCHAR(120)"; const TYPE_NUMBER = "INTEGER"; const TYPE_TEXT = "TEXT"; const TYPE_BOOLEAN = "BOOLEAN"; const CODE_ZERO = 0; const CODE_TABLE_NOT_EXISTS = 1; private $mysql_host = ""; private $mysql_user = ""; private $mysql_pass = ""; private $mysql_database = ""; public static $handle = null; public $lastRowID = -1; public $lastArr = array(); private $charset = null; function __construct() { } public function connect($host, $user, $pass, $database) { if (!function_exists("mysqli_connect")) { throw new Exception("php mysql extension doesn't activated, please activate it in php.ini"); } $this->mysql_host = $host; $this->mysql_user = $user; $this->mysql_pass = $pass; $this->mysql_database = $database; $this->getCreateDatabase(); } public function setCharset($charset) { $this->charset = $charset; } public function multiQueries($query) { $result = mysqli_multi_query(self::$handle, $query); $this->checkForErrors("Multi Query"); return $result; } private function throwError($message, $code = null) { if ($code == null) { throw new Exception($message); } else { throw new Exception($message, $code); } } public function confirmOutput($message = "") { return array("success" => true, "message" => $message); } public function validateHandle($functionName = "") { if (self::$handle == false) { if ($functionName) { $this->exitWithMessage("{$functionName} error - no open database"); } else { $this->throwError("sqlite error - no open database"); } } return $this->confirmOutput(); } public function validateTableName($tableName, $functionName = "") { if (trim($tableName) == "") { if ($functionName) { $this->throwError("{$functionName} error - no table found"); } else { $this->throwError("sqlite error - no table found"); } } } public function validateTable($tableName, $functionName) { $this->validateTableName($tableName, $functionName); if ($this->isTableExists($tableName) == false) { if ($functionName) { return $this->throwError("{$functionName} error - the table {$tableName} doesn't exists", self::CODE_TABLE_NOT_EXISTS); } else { $this->throwError("sqlite error - the table {$tableName} doesn't exists", self::CODE_TABLE_NOT_EXISTS); } } } public function validateFields($arrFields, $functionName = "") { if (gettype($arrFields) != "array") { $this->throwError("createTable error - the fields array isn't array type."); } if (count($arrFields) == 0) { $this->throwError("createTable error - the fields don't given."); } } public function setDbFile($dbFilepath) { $this->dbFilepath = $dbFilepath; $response = $this->getCreateDatabase(); return $response; } public function setAbsolutePath($path) { $this->databaseAbsolutePath = $path; $this->dbFilepath = ""; } public function getLastRowID() { return $this->lastRowID; } public function isTableExists($tableName) { $sql = 'select * from ' . $tableName; $numRows = mysqli_num_rows(mysqli_query(self::$handle, "SHOW TABLES LIKE '" . $tableName . "'")); $this->checkForErrors("Is table exists error", $sql); return $numRows != 0; } public function getCreateDatabase() { self::$handle = @mysqli_connect($this->mysql_host, $this->mysql_user, $this->mysql_pass); if (!self::$handle) { $errorNumber = mysqli_connect_errno(); if (!empty($errorNumber)) { $error = mysqli_connect_error(); $this->throwError($error); } } mysqli_select_db(self::$handle, $this->mysql_database); $this->checkForErrors("Mysql connect to database error"); if (!empty($this->charset)) { mysqli_set_charset(self::$handle, $this->charset); } return $this->confirmOutput(); } private function checkForErrors($prefix = "", $query = "") { if (mysqli_error(self::$handle) == false) { return false; } $message = mysqli_error(self::$handle); if ($prefix) { $message = $prefix . ' - ' . $message; } if ($query) { $message .= ' query: ' . $query; } $this->throwError($message); } public function getErrorMsg() { return mysqli_error(self::$handle); } public function getErrorNumber() { return mysql_errno(self::$handle); } public function query($query, $errorText = "") { mysqli_query(self::$handle, $query); $this->checkForErrors($errorText, $query); return mysqli_affected_rows(self::$handle); } public function getQueryArr($query, $errorText) { $rs = mysqli_query(self::$handle, $query); $this->checkForErrors($errorText, $query); $arrRows = array(); while ($row = mysqli_fetch_assoc($rs)) { $arrRows[] = $row; } $this->lastArr = $arrRows; return $arrRows; } public function getAffectedRows() { return mysqli_affected_rows(self::$handle); } public function insertid() { $this->lastRowID = mysqli_insert_id(self::$handle); return $this->lastRowID; } public function escape($str) { if (function_exists("mysqli_real_escape_string")) { return mysqli_real_escape_string(self::$handle, $str); } return $str; } }