This commit is contained in:
2026-02-17 14:56:23 +01:00
commit 68f7a95fdf
695 changed files with 154611 additions and 0 deletions

View File

@@ -0,0 +1,392 @@
<?php
namespace DynCom\mysyde\common\classes;
use DynCom\mysyde\common\interfaces\GenericDBQueryWrapperInterface;
use mysqli_result;
/**
* Created by PhpStorm.
* User: Micha
* Date: 16.01.2015
* Time: 23:39
*/
class MySQLiQueryWrapper implements GenericDBQueryWrapperInterface {
protected $hostName;
protected $portNumber;
protected $dbName;
protected $userName;
protected $password;
protected $optionsArray;
protected $connectionObject;
protected $query = '';
protected $stmt;
protected $result;
protected $errorState = FALSE;
protected $errorMessage = '';
/**
* @param string $hostName
* @param int $portNumber
* @param string $dbName
* @param string $userName
* @param string $password
* @param array $optionsArray
*/
public function __construct( $hostName, $portNumber, $dbName, $userName, $password, $optionsArray = array() ) {
$this->hostName = ($hostName ?: 'localhost');
$this->portNumber = ($portNumber ? (int)$portNumber : 3306);
$this->dbName = ($dbName ?:'dcshop');
$this->userName = ($userName ?: 'root');
$this->password = $password;
$this->optionsArray = (is_array($optionsArray) ? $optionsArray : array());
$this->connectionObject = mysqli_init();
if(count($this->optionsArray) > 0) {
foreach($this->optionsArray as $optionPair) {
if(!is_array($optionPair) || count($optionPair) !== 2) {
$this->errorState = TRUE;
$this->errorMessage .= 'At least one entry in the options array is not an array with two entries.';
} else {
if(!$this->connectionObject->options($optionPair[0],$optionPair[1])) {
$this->errorState = TRUE;
$this->errorMessage .= $this->connectionObject->error . ' || ';
}
}
}
}
if(!($this->connectionObject->real_connect($this->hostName,$this->userName,$this->password,$this->dbName,$this->portNumber))) {
$this->errorState = TRUE;
$this->errorMessage .= $this->connectionObject->error . ' || ';
}
if (!($this->connectionObject->ping())) {
$this->errorState = TRUE;
$this->errorMessage .= $this->connectionObject->connect_error;
}
$this->connectionObject->set_charset('utf8');
}
/**
* @param string $hostName
*/
public function setHostName( $hostName ) {
$this->hostName = $hostName;
}
/**
* @param int $portNumber
*/
public function setPortNumber( $portNumber ) {
$this->portNumber = $portNumber;
}
/**
* @param string $dbName
*/
public function setDbName( $dbName ) {
$this->dbName = $dbName;
}
/**
* @param string $userName
*/
public function setUserName( $userName ) {
$this->userName = $userName;
}
/**
* @param string $password
*/
public function setPassword( $password ) {
$this->password = $password;
}
/**
* @param array $optionsArray
*/
public function setOptionsArray( array $optionsArray ) {
$this->optionsArray = $optionsArray;
}
/**
* @param string $query
*/
public function setQuery( $query ) {
$this->query = $query;
}
/**
* @return string
*/
public function getHostName() {
return $this->hostName;
}
/**
* @return int
*/
public function getPortNumber() {
return $this->portNumber;
}
/**
* @return string
*/
public function getDbName() {
return $this->dbName;
}
/**
* @return string
*/
public function getUserName() {
return $this->userName;
}
/**
* @return array
*/
public function getOptionsArray() {
return $this->optionsArray;
}
/**
* @return mixed
*/
public function getQuery() {
return $this->query;
}
/**
* @return boolean
*/
public function isErrorState() {
return $this->errorState;
}
/**
* @return string
*/
public function getErrorMessage() {
return $this->errorMessage;
}
/**
* @return bool
*/
public function reconnect() {
if(count($this->optionsArray) > 0) {
foreach($this->optionsArray as $optionPair) {
if(!is_array($optionPair) || count($optionPair) !== 2) {
$this->errorState = TRUE;
$this->errorMessage .= 'At least one entry in the options array is not an array with two entries. || ';
} else {
if(!$this->connectionObject->options($optionPair[0],$optionPair[1])) {
$this->errorState = TRUE;
$this->errorMessage .= $this->connectionObject->error . ' || ';
}
}
}
}
if(!($this->connectionObject->real_connect($this->hostName,$this->userName,$this->password,$this->dbName,$this->portNumber))) {
$this->errorState = TRUE;
$this->errorMessage .= $this->connectionObject->error . ' || ';
}
if (!($this->connectionObject->ping())) {
$this->errorState = TRUE;
$this->errorMessage .= $this->connectionObject->connect_error;
}
if($this->errorState) {
$this->query = '';
$this->stmt = NULL;
$this->result = NULL;
return FALSE;
}
$this->connectionObject->set_charset('utf8');
$this->query = '';
$this->stmt = NULL;
$this->result = NULL;
$this->errorState = FALSE;
$this->errorMessage = '';
return TRUE;
}
/**
* @return bool
*/
public function doQuery() {
if(!$this->connectionObject->ping()) {
throw new \Exception($this->connectionObject->connect_error);
return FALSE;
}
if(empty($this->query)) {
throw new \Exception('Query is not set');
return FALSE;
}
$result = $this->connectionObject->query($this->query);
if($result === TRUE) {
return TRUE;
}
if(!($result instanceof mysqli_result)) {
$this->stmt = NULL;
$this->result = NULL;
$this->errorState = TRUE;
$this->errorMessage .= $this->connectionObject->error . ' || ';
return FALSE;
}
$this->result = $result;
return TRUE;
}
/**
* @return bool
*/
public function prepareQuery() {
if(empty($this->query)) {
throw new \Exception('Query is not set.');
return FALSE;
}
if(!($stmt = $this->connectionObject->prepare($this->query))) {
$this->stmt = NULL;
$this->result = NULL;
return FALSE;
}
$this->stmt = $stmt;
return TRUE;
}
/**
* @param array $array
*
* @return bool
*/
public function bindParameters( array $array ) {
// TODO: Implement bindParameters() method.
}
/**
* @return bool
*/
public function executePreparedStatement() {
// TODO: Implement executePreparedStatement() method.
}
/**
* @param array $params
*
* @return bool
*/
public function bindResult( array $params ) {
// TODO: Implement bindReturnValues() method.
}
/**
* @return bool
*/
public function startTransaction() {
// TODO: Implement startTransaction() method.
}
/**
* @return bool
*/
public function commitTransaction() {
// TODO: Implement commitTransaction() method.
}
/**
* @return bool
*/
public function cancelTransaction() {
// TODO: Implement cancelTransaction() method.
}
/**
* @return int
*/
public function getLastInsertId() {
// TODO: Implement getLastInsertID() method.
}
/**
* @return int
*/
public function getNoOfAffectedRows() {
// TODO: Implement getNoOfAffectedRows() method.
}
/**
* @return int
*/
public function getNoOfReturnedRows() {
// TODO: Implement getNoOfReturnedRows() method.
}
/**
* @return Resource
*/
public function getResultResource() {
// TODO: Implement getResultResource() method.
}
/**
* @return array
*/
public function getResultArray() {
// TODO: Implement getResultArray() method.
}
/**
* @return array
*/
public function getNextRow() {
// TODO: Implement getNextRow() method.
}
public function rollbackTransaction()
{
// TODO: Implement rollbackTransaction() method.
}
/**
* @param $string
*/
public function escapeString($string)
{
// TODO: Implement escapeString() method.
}
public function closeStatement()
{
// TODO: Implement closeStatement() method.
}
public function inTransaction()
{
// TODO: Implement inTransaction() method.
}
}