mysqli.php

来自「this the oscommerce 3.0 aplha 4」· PHP 代码 · 共 210 行

PHP
210
字号
<?php/*  $Id: $  osCommerce, Open Source E-Commerce Solutions  http://www.oscommerce.com  Copyright (c) 2007 osCommerce  This program is free software; you can redistribute it and/or modify  it under the terms of the GNU General Public License v2 (1991)  as published by the Free Software Foundation.*/  require('mysql.php');  class osC_Database_mysqli extends osC_Database_mysql {    var $use_transactions = true;    function osC_Database_mysqli($server, $username, $password) {      $this->server = $server;      $this->username = $username;      $this->password = $password;      if ($this->is_connected === false) {        $this->connect();      }    }    function connect() {      if ($this->link = @mysqli_connect($this->server, $this->username, $this->password)) {        $this->setConnected(true);        return true;      } else {        $this->setError(mysqli_connect_error(), mysqli_connect_errno());        return false;      }    }    function disconnect() {      if ($this->isConnected()) {        if (@mysqli_close($this->link)) {          return true;        } else {          return false;        }      } else {        return true;      }    }    function selectDatabase($database) {      if ($this->isConnected()) {        if (@mysqli_select_db($this->link, $database)) {          return true;        } else {          $this->setError(mysqli_error($this->link), mysqli_errno($this->link));          return false;        }      } else {        return false;      }    }    function parseString($value) {      return mysqli_real_escape_string($this->link, $value);    }    function simpleQuery($query, $debug = false) {      global $messageStack, $osC_Services;      if ($this->isConnected()) {        $this->number_of_queries++;        if ( ($debug === false) && ($this->debug === true) ) {          $debug = true;        }        if (isset($osC_Services) && $osC_Services->isStarted('debug')) {          if ( ($debug === false) && (SERVICE_DEBUG_OUTPUT_DB_QUERIES == '1') ) {            $debug = true;          }          if (!osc_empty(SERVICE_DEBUG_EXECUTION_TIME_LOG) && (SERVICE_DEBUG_LOG_DB_QUERIES == '1')) {            @error_log('QUERY ' . $query . "\n", 3, SERVICE_DEBUG_EXECUTION_TIME_LOG);          }        } elseif ($debug === true) {          $debug = false;        }        if ($debug === true) {          $time_start = $this->getMicroTime();        }        $resource = @mysqli_query($this->link, $query);        if ($debug === true) {          $time_end = $this->getMicroTime();          $query_time = number_format($time_end - $time_start, 5);          if ($this->debug === true) {            $this->time_of_queries += $query_time;          }          echo '<div style="font-family: Verdana, Arial, sans-serif; font-size: 7px; font-weight: bold;">[<a href="#query' . $this->number_of_queries . '">#' . $this->number_of_queries . '</a>]</div>';          $messageStack->add('debug', '<a name=\'query' . $this->number_of_queries . '\'></a>[#' . $this->number_of_queries . ' - ' . $query_time . 's] ' . $query, 'warning');        }        if ($resource !== false) {          $this->error = false;          $this->error_number = null;          $this->error_query = null;          return $resource;        } else {          $this->setError(mysqli_error($this->link), mysqli_errno($this->link), $query);          return false;        }      } else {        return false;      }    }    function dataSeek($row_number, $resource) {      return @mysqli_data_seek($resource, $row_number);    }    function next($resource) {      return @mysqli_fetch_assoc($resource);    }    function freeResult($resource) {      return @mysqli_free_result($resource);    }    function nextID() {      if ( is_numeric($this->nextID) ) {        $id = $this->nextID;        $this->nextID = null;        return $id;      } elseif ($id = @mysqli_insert_id($this->link)) {        return $id;      } else {        $this->setError(mysqli_error($this->link), mysqli_errno($this->link));        return false;      }    }    function numberOfRows($resource) {      return @mysqli_num_rows($resource);    }    function affectedRows() {      return @mysqli_affected_rows($this->link);    }    function startTransaction() {      $this->logging_transaction = true;      if ($this->use_transactions === true) {        return @mysqli_autocommit($this->link, false);      }      return false;    }    function commitTransaction() {      if ($this->logging_transaction === true) {        $this->logging_transaction = false;        $this->logging_transaction_action = false;      }      if ($this->use_transactions === true) {        $result = @mysqli_commit($this->link);        @mysqli_autocommit($this->link, true);        return $result;      }      return false;    }    function rollbackTransaction() {      if ($this->logging_transaction === true) {        $this->logging_transaction = false;        $this->logging_transaction_action = false;      }      if ($this->use_transactions === true) {        $result = @mysqli_rollback($this->link);        @mysqli_autocommit($this->link, true);        return $result;      }      return false;    }  }?>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?