set_charset("utf8mb4"); $mysqli->query("SET collation_connection = 'utf8mb4_unicode_ci'"); $mysqli->query("SET sql_mode=''"); $mysqli->query("SET time_zone='".date('P')."'"); /* activate reporting */ $driver = new \mysqli_driver(); $driver->report_mode = MYSQLI_REPORT_ALL & ~MYSQLI_REPORT_INDEX; return $this->mysqli = $mysqli; } public function query(string $sql) { return $this->mysqli->query($sql); } public function error(): string { return $this->mysqli->error; } public function errno(): int { return $this->mysqli->errno; } public function numRows($mysqliResult): int { return $mysqliResult->num_rows; } public function selectDb($database) { return $this->mysqli->select_db($database); } public function fetchAssoc($mysqliResult) { return $mysqliResult->fetch_assoc(); } public function fetchRow($mysqliResult) { return $mysqliResult->fetch_row(); } public function fetchArray($mysqliResult, $type) { if (is_null($type)) { $type = MYSQLI_BOTH; } return $mysqliResult->fetch_array($type); } public function affectedRows(): int { return $this->mysqli->affected_rows; } public function escapeString(string $string): string { return $this->mysqli->real_escape_string($string); } public function lastInsertId(): int { return $this->mysqli->insert_id; } public function freeResult($mysqliResult) { return $mysqliResult->free_result(); } }