亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sybase.php

?? PhpWiki是sourceforge的一個開源項目
?? PHP
?? 第 1 頁 / 共 2 頁
字號:
<?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.               |// +----------------------------------------------------------------------+// | Authors: Sterling Hughes <sterling@php.net>                          |// |          Ant鬾io Carlos Ven鈔cio J鷑ior <floripa@php.net>            |// | Maintainer: Daniel Convissor <danielc@php.net>                       |// +----------------------------------------------------------------------+//// $Id: sybase.php,v 1.3 2004/06/21 08:39:38 rurban Exp $// TODO//    - This driver may fail with multiple connections under the same//      user/pass/host and different databasesrequire_once 'DB/common.php';/** * Database independent query interface definition for PHP's Sybase * extension. * * @package  DB * @version  $Id: sybase.php,v 1.3 2004/06/21 08:39:38 rurban Exp $ * @category Database * @author   Sterling Hughes <sterling@php.net> * @author   Ant鬾io Carlos Ven鈔cio J鷑ior <floripa@php.net> */class DB_sybase extends DB_common{    // {{{ properties    var $connection;    var $phptype, $dbsyntax;    var $prepare_tokens = array();    var $prepare_types = array();    var $transaction_opcount = 0;    var $autocommit = true;    // }}}    // {{{ constructor    /**     * DB_sybase constructor.     *     * @access public     */    function DB_sybase()    {        $this->DB_common();        $this->phptype = 'sybase';        $this->dbsyntax = 'sybase';        $this->features = array(            'prepare' => false,            'pconnect' => true,            'transactions' => false,            'limit' => 'emulate'        );        $this->errorcode_map = array(        );    }    // }}}    // {{{ connect()    /**     * Connect to a database and log in as the specified user.     *     * @param $dsn the data source name (see DB::parseDSN for syntax)     * @param $persistent (optional) whether the connection should     *        be persistent     * @access public     * @return int DB_OK on success, a DB error on failure     */    function connect($dsninfo, $persistent = false)    {        if (!DB::assertExtension('sybase') &&            !DB::assertExtension('sybase_ct'))        {            return $this->raiseError(DB_ERROR_EXTENSION_NOT_FOUND);        }        $this->dsn = $dsninfo;        $interface = $dsninfo['hostspec'] ? $dsninfo['hostspec'] : 'localhost';        $connect_function = $persistent ? 'sybase_pconnect' : 'sybase_connect';        if ($interface && $dsninfo['username'] && $dsninfo['password']) {            $conn = @$connect_function($interface, $dsninfo['username'],                                       $dsninfo['password']);        } elseif ($interface && $dsninfo['username']) {            /*             * Using false for pw as a workaround to avoid segfault.             * See PEAR bug 631             */            $conn = @$connect_function($interface, $dsninfo['username'],                                       false);        } else {            $conn = false;        }        if (!$conn) {            return $this->raiseError(DB_ERROR_CONNECT_FAILED);        }        if ($dsninfo['database']) {            if (!@sybase_select_db($dsninfo['database'], $conn)) {                return $this->raiseError(DB_ERROR_NODBSELECTED, null,                                         null, null, @sybase_get_last_message());            }            $this->_db = $dsninfo['database'];        }        $this->connection = $conn;        return DB_OK;    }    // }}}    // {{{ disconnect()    /**     * Log out and disconnect from the database.     *     * @access public     *     * @return bool true on success, false if not connected.     */    function disconnect()    {        $ret = @sybase_close($this->connection);        $this->connection = null;        return $ret;    }    // }}}    // {{{ errorNative()    /**     * Get the last server error messge (if any)     *     * @return string sybase last error message     */    function errorNative()    {        return @sybase_get_last_message();    }    // }}}    // {{{ errorCode()    /**     * Determine PEAR::DB error code from the database's text error message.     *     * @param  string  $errormsg  error message returned from the database     * @return integer  an error number from a DB error constant     */    function errorCode($errormsg)    {        static $error_regexps;        if (!isset($error_regexps)) {            $error_regexps = array(                '/Incorrect syntax near/'                    => DB_ERROR_SYNTAX,                '/^Unclosed quote before the character string [\"\'].*[\"\']\./'                    => DB_ERROR_SYNTAX,                '/Implicit conversion from datatype [\"\'].+[\"\'] to [\"\'].+[\"\'] is not allowed\./'                    => DB_ERROR_INVALID_NUMBER,                '/Cannot drop the table [\"\'].+[\"\'], because it doesn\'t exist in the system catalogs\./'                    => DB_ERROR_NOSUCHTABLE,                '/Only the owner of object [\"\'].+[\"\'] or a user with System Administrator \(SA\) role can run this command\./'                    => DB_ERROR_ACCESS_VIOLATION,                '/^.+ permission denied on object .+, database .+, owner .+/'                    => DB_ERROR_ACCESS_VIOLATION,                '/^.* permission denied, database .+, owner .+/'                    => DB_ERROR_ACCESS_VIOLATION,                '/[^.*] not found\./'                    => DB_ERROR_NOSUCHTABLE,                '/There is already an object named/'                    => DB_ERROR_ALREADY_EXISTS,                '/Invalid column name/'                    => DB_ERROR_NOSUCHFIELD,                '/does not allow null values/'                    => DB_ERROR_CONSTRAINT_NOT_NULL,                '/Command has been aborted/'                    => DB_ERROR_CONSTRAINT,            );        }        foreach ($error_regexps as $regexp => $code) {            if (preg_match($regexp, $errormsg)) {                return $code;            }        }        return DB_ERROR;    }    // }}}    // {{{ sybaseRaiseError()    /**     * Gather information about an error, then use that info to create a     * DB error object and finally return that object.     *     * @param  integer  $errno  PEAR error number (usually a DB constant) if     *                          manually raising an error     * @return object  DB error object     * @see errorNative()     * @see errorCode()     * @see DB_common::raiseError()     */    function sybaseRaiseError($errno = null)    {        $native = $this->errorNative();        if ($errno === null) {            $errno = $this->errorCode($native);        }        return $this->raiseError($errno, null, null, null, $native);    }    // }}}    // {{{ simpleQuery()    /**     * Send a query to Sybase and return the results as a Sybase resource     * identifier.     *     * @param the SQL query     *     * @access public     *     * @return mixed returns a valid Sybase result for successful SELECT     * queries, DB_OK for other successful queries.  A DB error is     * returned on failure.     */    function simpleQuery($query)    {        $ismanip = DB::isManip($query);        $this->last_query = $query;        if (!@sybase_select_db($this->_db, $this->connection)) {            return $this->sybaseRaiseError(DB_ERROR_NODBSELECTED);        }        $query = $this->modifyQuery($query);        if (!$this->autocommit && $ismanip) {            if ($this->transaction_opcount == 0) {                $result = @sybase_query('BEGIN TRANSACTION', $this->connection);                if (!$result) {                    return $this->sybaseRaiseError();                }            }            $this->transaction_opcount++;        }        $result = @sybase_query($query, $this->connection);        if (!$result) {            return $this->sybaseRaiseError();        }        if (is_resource($result)) {            $numrows = $this->numRows($result);            if (is_object($numrows)) {                return $numrows;            }            $this->num_rows[(int)$result] = $numrows;            return $result;        }        // Determine which queries that should return data, and which        // should return an error code only.        return $ismanip ? DB_OK : $result;    }    // }}}    // {{{ nextResult()    /**     * Move the internal sybase result pointer to the next available result     *     * @param a valid sybase 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 (!@sybase_data_seek($result, $rownum)) {                return null;            }        }        if ($fetchmode & DB_FETCHMODE_ASSOC) {            if (function_exists('sybase_fetch_assoc')) {                $arr = @sybase_fetch_assoc($result);            } else {                if ($arr = @sybase_fetch_array($result)) {                    foreach ($arr as $key => $value) {                        if (is_int($key)) {                            unset($arr[$key]);                        }                    }                }            }            if ($this->options['portability'] & DB_PORTABILITY_LOWERCASE && $arr) {                $arr = array_change_key_case($arr, CASE_LOWER);            }        } else {            $arr = @sybase_fetch_row($result);        }        if (!$arr) {            // reported not work as seems that sybase_get_last_message()            // always return a message here            //if ($errmsg = @sybase_get_last_message()) {            //    return $this->sybaseRaiseError($errmsg);            //} 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()    /**     * Free the internal resources associated with $result.     *     * @param $result Sybase result identifier     *     * @access public     *     * @return bool true on success, false if $result is invalid     */    function freeResult($result)    {        unset($this->num_rows[(int)$result]);        return @sybase_free_result($result);    }    // }}}    // {{{ numCols()    /**     * Get the number of columns in a result set.     *     * @param $result Sybase result identifier     *     * @access public     *     * @return int the number of columns per row in $result     */    function numCols($result)    {        $cols = @sybase_num_fields($result);        if (!$cols) {            return $this->sybaseRaiseError();        }        return $cols;    }    // }}}    // {{{ numRows()    /**     * Get the number of rows in a result set.     *     * @param $result Sybase result identifier     *     * @access public     *     * @return int the number of rows in $result     */    function numRows($result)    {        $rows = @sybase_num_rows($result);        if ($rows === false) {            return $this->sybaseRaiseError();        }        return $rows;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人欧美一区二区三区视频网页 | 国产精品2024| 99国产精品国产精品毛片| 欧美人妖巨大在线| 亚洲国产高清aⅴ视频| 毛片基地黄久久久久久天堂| 91论坛在线播放| 久久久www免费人成精品| 日韩成人精品在线| 91久久精品一区二区| 国产欧美精品一区二区色综合朱莉 | 欧美一区二区三区小说| 一区二区三区四区在线播放 | 5566中文字幕一区二区电影| 亚洲欧洲www| 国产99一区视频免费| 精品国产一区二区精华| 三级欧美在线一区| 欧美日韩国产影片| 亚洲精选一二三| 91在线无精精品入口| 国产精品人人做人人爽人人添| 国产在线精品一区二区| 精品国产凹凸成av人导航| 日韩av电影天堂| 8v天堂国产在线一区二区| 三级一区在线视频先锋 | 欧美高清视频在线高清观看mv色露露十八| 1区2区3区欧美| 97精品国产97久久久久久久久久久久| 国产欧美一区二区三区鸳鸯浴| 国产麻豆精品一区二区| 久久久久国产免费免费| 国产精品一二三四区| 国产欧美日韩在线观看| 高清成人免费视频| 中文久久乱码一区二区| 99精品视频在线观看免费| 亚洲欧洲精品天堂一级| 欧美在线一二三| 日韩精品一二三| 日韩精品一区二| 国产精品1024久久| 《视频一区视频二区| 91美女片黄在线| 亚洲成人av福利| 欧美一区二区三区不卡| 国内一区二区视频| 亚洲日穴在线视频| 欧美色综合网站| 美脚の诱脚舐め脚责91| 中文字幕乱码久久午夜不卡| 91久久精品一区二区二区| 日韩精品福利网| 久久久国产精品麻豆| 91视频免费看| 免费美女久久99| 亚洲国产精品精华液2区45| 色婷婷综合久久久中文一区二区 | 国产精品电影院| 欧美亚洲综合另类| 韩日av一区二区| 一区二区三区精密机械公司| 日韩一区二区三区视频在线观看| 国产精品123区| 亚洲电影一级黄| 国产调教视频一区| 欧美丝袜自拍制服另类| 国产不卡视频一区| 日韩—二三区免费观看av| 国产亚洲欧美日韩日本| 欧美性猛交xxxx乱大交退制版 | 日韩精品电影在线| 欧美激情一区三区| 欧美一区二区三区成人| 91蝌蚪porny| 国产一区二区三区免费观看| 亚洲一区二区三区在线播放| 久久久一区二区三区| 欧美日本在线观看| 99国产精品国产精品久久| 精品亚洲国内自在自线福利| 亚洲综合色自拍一区| 国产精品毛片高清在线完整版| 91精品久久久久久久久99蜜臂| 成人av高清在线| 精品亚洲国产成人av制服丝袜| 亚洲成人动漫在线观看| 国产精品福利在线播放| 国产午夜精品久久| 精品福利视频一区二区三区| 欧美天堂一区二区三区| 91在线精品一区二区| 国产高清成人在线| 久久国产人妖系列| 午夜精品福利久久久| 一区二区三区四区激情| 国产精品视频九色porn| 久久精品免费在线观看| 欧美xxxxxxxxx| 日韩精品一区二区三区在线 | 蜜桃久久精品一区二区| 亚洲成人黄色影院| 亚洲小说春色综合另类电影| 一区二区三区在线视频观看58| 中文字幕一区二区三区乱码在线 | 欧美变态口味重另类| 欧美一区二区在线免费观看| 欧美性生交片4| 欧美午夜宅男影院| 欧美性色综合网| 在线91免费看| 91精品在线免费| 日韩一区二区精品在线观看| 欧美一区二区三区免费大片| 欧美一级午夜免费电影| 欧美一区二区三区四区久久| 日韩亚洲欧美在线| 91麻豆精品国产综合久久久久久| 欧美肥妇free| 欧美zozozo| 国产精品视频免费看| 亚洲女子a中天字幕| 亚洲一区在线观看网站| 亚洲成人免费观看| 精品综合久久久久久8888| 国产麻豆一精品一av一免费| 懂色av一区二区夜夜嗨| av色综合久久天堂av综合| 日本精品一区二区三区四区的功能| 91麻豆免费视频| 欧美日韩色综合| 日韩久久精品一区| 国产精品久久网站| 亚洲午夜成aⅴ人片| 免费在线观看一区二区三区| 国产精品综合一区二区| 成人国产精品免费网站| 欧美色爱综合网| 精品国产伦一区二区三区免费| 欧美国产精品专区| 午夜久久久久久| 国产成人av一区| 欧美乱妇20p| 久久精品亚洲麻豆av一区二区| 亚洲图片另类小说| 蜜臀久久99精品久久久久宅男 | 777精品伊人久久久久大香线蕉| 欧美va亚洲va| 亚洲欧美日韩一区二区 | 色吧成人激情小说| 日韩欧美精品在线| 一区二区三区在线观看动漫| 精品一区二区国语对白| 色国产精品一区在线观看| 日韩欧美在线123| 亚洲视频在线观看三级| 日本成人中文字幕| 99精品一区二区三区| 欧美一级搡bbbb搡bbbb| 亚洲视频一二三| 国产剧情一区在线| 欧美精品电影在线播放| 中文字幕一区二区三中文字幕| 蜜桃视频一区二区| 欧美亚洲国产一卡| 中文字幕中文字幕一区二区 | 97久久人人超碰| 欧美精品一区二区三| 视频一区二区欧美| 91在线国产福利| 久久精品亚洲精品国产欧美 | 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 国产美女主播视频一区| 欧美日韩一级片在线观看| 中文字幕视频一区二区三区久| 美国毛片一区二区| 欧美精品久久天天躁| 亚洲综合视频网| 91极品视觉盛宴| 亚洲人成伊人成综合网小说| 国产成人在线视频免费播放| 日韩欧美国产不卡| 三级久久三级久久久| 精品视频一区二区三区免费| 亚洲欧美日韩小说| 色哟哟亚洲精品| 综合精品久久久| 99精品视频在线观看免费| 国产精品每日更新在线播放网址| 国产乱码精品一区二区三区av| 精品成人私密视频| 狠狠色丁香婷婷综合| 精品国产一区二区亚洲人成毛片| 麻豆久久久久久| 久久综合九色综合97婷婷女人 | 欧美一区二区免费视频| 天使萌一区二区三区免费观看| 在线免费观看日本一区| 亚洲欧美日韩国产一区二区三区 |