⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 msql.php

📁 太烦了
💻 PHP
字号:
<?php/* vim: set expandtab tabstop=4 shiftwidth=4 foldmethod=marker: */// +----------------------------------------------------------------------+// | PHP Version 4                                                        |// +----------------------------------------------------------------------+// | Copyright (c) 1997-2004 The PHP Group                                |// +----------------------------------------------------------------------+// | This source file is subject to version 2.02 of the PHP license,      |// | that is bundled with this package in the file LICENSE, and is        |// | available at through the world-wide-web at                           |// | http://www.php.net/license/2_02.txt.                                 |// | If you did not receive a copy of the PHP license and are unable to   |// | obtain it through the world-wide-web, please send a note to          |// | license@php.net so we can mail you a copy immediately.               |// +----------------------------------------------------------------------+// | Author: Sterling Hughes <sterling@php.net>                           |// | Maintainer: Daniel Convissor <danielc@php.net>                       |// +----------------------------------------------------------------------+//// $Id: msql.php,v 1.2 2005/07/22 05:10:13 max Exp $require_once PEAR_DIR . 'DB/common.php';/** * Database independent query interface definition for PHP's Mini-SQL * extension. * * @package  DB * @version  $Id: msql.php,v 1.2 2005/07/22 05:10:13 max Exp $ * @category Database * @author   Sterling Hughes <sterling@php.net> */class DB_msql extends DB_common{    // {{{ properties    var $connection;    var $phptype, $dbsyntax;    var $prepare_tokens = array();    var $prepare_types = array();    // }}}    // {{{ constructor    function DB_msql()    {        $this->DB_common();        $this->phptype = 'msql';        $this->dbsyntax = 'msql';        $this->features = array(            'prepare' => false,            'pconnect' => true,            'transactions' => false,            'limit' => 'emulate'        );    }    // }}}    // {{{ connect()    function connect($dsninfo, $persistent = false)    {        if (!DB::assertExtension('msql')) {            return $this->raiseError(DB_ERROR_EXTENSION_NOT_FOUND);        }        $this->dsn = $dsninfo;        $dbhost = $dsninfo['hostspec'] ? $dsninfo['hostspec'] : 'localhost';        $connect_function = $persistent ? 'msql_pconnect' : 'msql_connect';        if ($dbhost && $dsninfo['username'] && $dsninfo['password']) {            $conn = $connect_function($dbhost, $dsninfo['username'],                                      $dsninfo['password']);        } elseif ($dbhost && $dsninfo['username']) {            $conn = $connect_function($dbhost, $dsninfo['username']);        } else {            $conn = $connect_function($dbhost);        }        if (!$conn) {            $this->raiseError(DB_ERROR_CONNECT_FAILED);        }        if (!@msql_select_db($dsninfo['database'], $conn)){            return $this->raiseError(DB_ERROR_NODBSELECTED);        }        $this->connection = $conn;        return DB_OK;    }    // }}}    // {{{ disconnect()    function disconnect()    {        $ret = @msql_close($this->connection);        $this->connection = null;        return $ret;    }    // }}}    // {{{ simpleQuery()    function simpleQuery($query)    {        $this->last_query = $query;        $query = $this->modifyQuery($query);        $result = @msql_query($query, $this->connection);        if (!$result) {            return $this->raiseError();        }        // Determine which queries that should return data, and which        // should return an error code only.        return DB::isManip($query) ? DB_OK : $result;    }    // }}}    // {{{ nextResult()    /**     * Move the internal msql result pointer to the next available result     *     * @param a valid fbsql result resource     *     * @access public     *     * @return true if a result is available otherwise return false     */    function nextResult($result)    {        return false;    }    // }}}    // {{{ fetchInto()    /**     * Fetch a row and insert the data into an existing array.     *     * Formating of the array and the data therein are configurable.     * See DB_result::fetchInto() for more information.     *     * @param resource $result    query result identifier     * @param array    $arr       (reference) array where data from the row     *                            should be placed     * @param int      $fetchmode how the resulting array should be indexed     * @param int      $rownum    the row number to fetch     *     * @return mixed DB_OK on success, null when end of result set is     *               reached or on failure     *     * @see DB_result::fetchInto()     * @access private     */    function fetchInto($result, &$arr, $fetchmode, $rownum=null)    {        if ($rownum !== null) {            if (!@msql_data_seek($result, $rownum)) {                return null;            }        }        if ($fetchmode & DB_FETCHMODE_ASSOC) {            $arr = @msql_fetch_array($result, MSQL_ASSOC);            if ($this->options['portability'] & DB_PORTABILITY_LOWERCASE && $arr) {                $arr = array_change_key_case($arr, CASE_LOWER);            }        } else {            $arr = @msql_fetch_row($result);        }        if (!$arr) {            if ($error = @msql_error()) {                return $this->raiseError($error);            } else {                return null;            }        }        if ($this->options['portability'] & DB_PORTABILITY_RTRIM) {            $this->_rtrimArrayValues($arr);        }        if ($this->options['portability'] & DB_PORTABILITY_NULL_TO_EMPTY) {            $this->_convertNullArrayValuesToEmpty($arr);        }        return DB_OK;    }    // }}}    // {{{ freeResult()    function freeResult($result)    {        return @msql_free_result($result);    }    // }}}    // {{{ numCols()    function numCols($result)    {        $cols = @msql_num_fields($result);        if (!$cols) {            return $this->raiseError();        }        return $cols;    }    // }}}    // {{{ numRows()    function numRows($result)    {        $rows = @msql_num_rows($result);        if (!$rows) {            return $this->raiseError();        }        return $rows;    }    // }}}    // {{{ affected()    /**     * Gets the number of rows affected by a query.     *     * @return number of rows affected by the last query     */    function affectedRows()    {        return @msql_affected_rows($this->connection);    }    // }}}}/* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: */?>

⌨️ 快捷键说明

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