Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- if (class_exists('mysqli')) {
- return;
- }
- class mysqli_result_facade {
- protected $result;
- protected $fields = array();
- public function __construct($result) {
- $this->result = $result;
- }
- public function fetch_assoc() {
- return mysql_fetch_assoc($this->result);
- }
- public function fetch_fields() {
- if (count($this->fields)) {
- return $this->fields;
- }
- $i = 0;
- while ($i < mysql_num_fields($result)) {
- $this->fields[]= mysql_fetch_field($result, $i);
- }
- return $this->fields;
- }
- public function free() {
- mysql_free_result($this->result);
- }
- public function __get($name) {
- if ($name == 'num_rows') {
- return $this->num_rows();
- }
- }
- private function num_rows() {
- return mysql_num_rows($this->result);
- }
- }
- class mysqli {
- protected $connect;
- protected $results;
- protected function freeAllResults() {
- foreach ($this->results as $r) {
- $r->free();
- }
- $this->results = array();
- }
- protected function doQuery($stmt, $preserve = false) {
- if (!$preserve) {
- $this->freeAllResults();
- }
- error_log($stmt);
- $result = mysql_query($stmt, $this->connect);
- error_log(mysql_error($this->connect));
- if ($result !== TRUE && $result !== FALSE) {
- $result = new mysqli_result_facade($result);
- }
- $this->results[] = $result;
- }
- public function __construct($host = "localhost", $user = "root", $pass = "", $port = 3306) {
- $this->connect = mysql_connect($host, $user, $pass, $port);
- $this->results = array();
- }
- public function select_db($db) {
- return mysql_select_db($db, $this->connect);
- }
- public function multi_query($statements) {
- // transform escaped ; to token
- $statements = explode(';', str_replace('\;', '__ESCAPED_SEMI__', $statements));
- foreach ($statements as $stmt) {
- $this->doQuery(str_replace('__ESCAPED_SEMI__', '\;', $stmt), true);
- }
- return true;
- }
- public function query($statement) {
- $this->doQuery($statement);
- return (isset($this->results[0])) ? $this->results[0] : FALSE;
- }
- public function store_result() {
- return $this->results[0];
- }
- public function next_result() {
- array_shift($this->results);
- }
- public function close() {
- mysql_close($this->connect);
- }
- private function affected_rows() {
- return mysql_affected_rows($this->connect);
- }
- private function warning_count() {
- $result = $this->query('SHOW COUNT(*) WARNINGS');
- $row = $result->fetch_assoc();
- return $row['count'];
- }
- public function __get($name) {
- if ($name == 'affected_rows') {
- return $this->affected_rows();
- }
- if ($name == 'warning_count') {
- return $this->warning_count();
- }
- }
- }
- function mysqli_connect_errno() {
- }
- function mysqli_connect_error() {
- }
Add Comment
Please, Sign In to add comment