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

📄 abstract.php

📁 Piwik#Opensourcewebanalytics一款可以和GOOGLE媲美的开源统计系统,运用AJAX.功能强大.无色提示:按照需要PHP5.1以上和MySQL数据库支持。
💻 PHP
📖 第 1 页 / 共 2 页
字号:
    public function getFetchMode()    {        return $this->_fetchMode;    }    /**     * Fetches all SQL result rows as a sequential array.     * Uses the current fetchMode for the adapter.     *     * @param  string|Zend_Db_Select $sql  An SQL SELECT statement.     * @param  mixed                 $bind Data to bind into SELECT placeholders.     * @return array     */    public function fetchAll($sql, $bind = array())    {        $stmt = $this->query($sql, $bind);        $result = $stmt->fetchAll($this->_fetchMode);        return $result;    }    /**     * Fetches all SQL result rows as an associative array.     *     * The first column is the key, the entire row array is the     * value.     *     * @param string|Zend_Db_Select $sql An SQL SELECT statement.     * @param mixed $bind Data to bind into SELECT placeholders.     * @return string     */    public function fetchAssoc($sql, $bind = array())    {        $stmt = $this->query($sql, $bind);        $data = array();        while ($row = $stmt->fetch($this->_fetchMode)) {            $tmp = array_values(array_slice($row, 0, 1));            $data[$tmp[0]] = $row;        }        return $data;    }    /**     * Fetches the first column of all SQL result rows as an array.     *     * The first column in each row is used as the array key.     *     * @param string|Zend_Db_Select $sql An SQL SELECT statement.     * @param mixed $bind Data to bind into SELECT placeholders.     * @return array     */    public function fetchCol($sql, $bind = array())    {        $stmt = $this->query($sql, $bind);        $result = $stmt->fetchAll(Zend_Db::FETCH_COLUMN, 0);        return $result;    }    /**     * Fetches all SQL result rows as an array of key-value pairs.     *     * The first column is the key, the second column is the     * value.     *     * @param string|Zend_Db_Select $sql An SQL SELECT statement.     * @param mixed $bind Data to bind into SELECT placeholders.     * @return string     */    public function fetchPairs($sql, $bind = array())    {        $stmt = $this->query($sql, $bind);        $data = array();        while ($row = $stmt->fetch(Zend_Db::FETCH_NUM)) {            $data[$row[0]] = $row[1];        }        return $data;    }    /**     * Fetches the first column of the first row of the SQL result.     *     * @param string|Zend_Db_Select $sql An SQL SELECT statement.     * @param mixed $bind Data to bind into SELECT placeholders.     * @return string     */    public function fetchOne($sql, $bind = array())    {        $stmt = $this->query($sql, $bind);        $result = $stmt->fetchColumn(0);        return $result;    }    /**     * Fetches the first row of the SQL result.     * Uses the current fetchMode for the adapter.     *     * @param string|Zend_Db_Select $sql An SQL SELECT statement.     * @param mixed $bind Data to bind into SELECT placeholders.     * @return array     */    public function fetchRow($sql, $bind = array())    {        $stmt = $this->query($sql, $bind);        $result = $stmt->fetch($this->_fetchMode);        return $result;    }    /**     * Quote a raw string.     *     * @param string $value     Raw string     * @return string           Quoted string     */    protected function _quote($value)    {        if (is_numeric($value)) {            return $value;        }        return "'" . addcslashes($value, "\000\n\r\\'\"\032") . "'";    }    /**     * Safely quotes a value for an SQL statement.     *     * If an array is passed as the value, the array values are quoted     * and then returned as a comma-separated string.     *     * @param mixed $value The value to quote.     * @return mixed An SQL-safe quoted value (or string of separated values).     */    public function quote($value)    {        $this->_connect();        if ($value instanceof Zend_Db_Expr) {            return $value->__toString();        }        if (is_array($value)) {            foreach ($value as &$val) {                $val = $this->quote($val);            }            return implode(', ', $value);        }        return $this->_quote($value);    }    /**     * Quotes a value and places into a piece of text at a placeholder.     *     * The placeholder is a question-mark; all placeholders will be replaced     * with the quoted value.   For example:     *     * <code>     * $text = "WHERE date < ?";     * $date = "2005-01-02";     * $safe = $sql->quoteInto($text, $date);     * // $safe = "WHERE date < '2005-01-02'"     * </code>     *     * @param string $text The text with a placeholder.     * @param mixed $value The value to quote.     * @return mixed An SQL-safe quoted value placed into the orignal text.     */    public function quoteInto($text, $value)    {        return str_replace('?', $this->quote($value), $text);    }    /**     * Quotes an identifier.     *     * Accepts a string representing a qualified indentifier. For Example:     * <code>     * $adapter->quoteIdentifier('myschema.mytable')     * </code>     * Returns: "myschema"."mytable"     *     * Or, an array of one or more identifiers that may form a qualified identifier:     * <code>     * $adapter->quoteIdentifier(array('myschema','my.table'))     * </code>     * Returns: "myschema"."my.table"     *     * The actual quote character surrounding the identifiers may vary depending on     * the adapter.     *     * @param string|array|Zend_Db_Expr $ident The identifier.     * @param boolean $auto If true, heed the AUTO_QUOTE_IDENTIFIERS config option.     * @return string The quoted identifier.     */    public function quoteIdentifier($ident, $auto=false)    {        return $this->_quoteIdentifierAs($ident, null, $auto);    }    /**     * Quote a column identifier and alias.     *     * @param string|array|Zend_Db_Expr $ident The identifier or expression.     * @param string $alias An alias for the column.     * @param boolean $auto If true, heed the AUTO_QUOTE_IDENTIFIERS config option.     * @return string The quoted identifier and alias.     */    public function quoteColumnAs($ident, $alias, $auto=false)    {        return $this->_quoteIdentifierAs($ident, $alias, $auto);    }    /**     * Quote a table identifier and alias.     *     * @param string|array|Zend_Db_Expr $ident The identifier or expression.     * @param string $alias An alias for the table.     * @param boolean $auto If true, heed the AUTO_QUOTE_IDENTIFIERS config option.     * @return string The quoted identifier and alias.     */    public function quoteTableAs($ident, $alias, $auto=false)    {        return $this->_quoteIdentifierAs($ident, $alias, $auto);    }    /**     * Quote an identifier and an optional alias.     *     * @param string|array|Zend_Db_Expr $ident The identifier or expression.     * @param string $alias An optional alias.     * @param string $as The string to add between the identifier/expression and the alias.     * @param boolean $auto If true, heed the AUTO_QUOTE_IDENTIFIERS config option.     * @return string The quoted identifier and alias.     */    protected function _quoteIdentifierAs($ident, $alias = null, $auto = false, $as = ' AS ')    {        if ($ident instanceof Zend_Db_Expr) {            $quoted = $ident->__toString();        } else {            if (is_string($ident)) {                $ident = explode('.', $ident);            }            if (is_array($ident)) {                $segments = array();                foreach ($ident as $segment) {                    if ($segment instanceof Zend_Db_Expr) {                        $segments[] = $segment->__toString();                    } else {                        $segments[] = $this->_quoteIdentifier($segment, $auto);                    }                }                if ($alias !== null && end($ident) == $alias) {                    $alias = null;                }                $quoted = implode('.', $segments);            } else {                $quoted = $this->_quoteIdentifier($ident, $auto);            }        }        if ($alias !== null) {            $quoted .= $as . $this->_quoteIdentifier($alias, $auto);        }        return $quoted;    }    /**     * Quote an identifier.     *     * @param  string $value The identifier or expression.     * @param boolean $auto If true, heed the AUTO_QUOTE_IDENTIFIERS config option.     * @return string        The quoted identifier and alias.     */    protected function _quoteIdentifier($value, $auto=false)    {        if ($auto === false || $this->_autoQuoteIdentifiers === true) {            $q = $this->getQuoteIdentifierSymbol();            return ($q . str_replace("$q", "$q$q", $value) . $q);        }        return $value;    }    /**     * Returns the symbol the adapter uses for delimited identifiers.     *     * @return string     */    public function getQuoteIdentifierSymbol()    {        return '"';    }    /**     * Return the most recent value from the specified sequence in the database.     * This is supported only on RDBMS brands that support sequences     * (e.g. Oracle, PostgreSQL, DB2).  Other RDBMS brands return null.     *     * @param string $sequenceName     * @return integer     */    public function lastSequenceId($sequenceName)    {        return null;    }    /**     * Generate a new value from the specified sequence in the database, and return it.     * This is supported only on RDBMS brands that support sequences     * (e.g. Oracle, PostgreSQL, DB2).  Other RDBMS brands return null.     *     * @param string $sequenceName     * @return integer     */    public function nextSequenceId($sequenceName)    {        return null;    }    /**     * Helper method to change the case of the strings used     * when returning result sets in FETCH_ASSOC and FETCH_BOTH     * modes.     *     * This is not intended to be used by application code,     * but the method must be public so the Statement class     * can invoke it.     *     * @param string $key     * @returns string     */    public function foldCase($key)    {        switch ($this->_caseFolding) {            case Zend_Db::CASE_LOWER:                return strtolower((string) $key);            case Zend_Db::CASE_UPPER:                return strtoupper((string) $key);            case Zend_Db::CASE_NATURAL:            default:                return (string) $key;        }    }    /**     * Abstract Methods     */    /**     * Returns a list of the tables in the database.     *     * @return array     */    abstract public function listTables();    /**     * Returns the column descriptions for a table.     *     * The return value is an associative array keyed by the column name,     * as returned by the RDBMS.     *     * The value of each array element is an associative array     * with the following keys:     *     * SCHEMA_NAME => string; name of database or schema     * TABLE_NAME  => string;     * COLUMN_NAME => string; column name     * COLUMN_POSITION => number; ordinal position of column in table     * DATA_TYPE   => string; SQL datatype name of column     * DEFAULT     => string; default expression of column, null if none     * NULLABLE    => boolean; true if column can have nulls     * LENGTH      => number; length of CHAR/VARCHAR     * SCALE       => number; scale of NUMERIC/DECIMAL     * PRECISION   => number; precision of NUMERIC/DECIMAL     * UNSIGNED    => boolean; unsigned property of an integer type     * PRIMARY     => boolean; true if column is part of the primary key     * PRIMARY_POSITION => integer; position of column in primary key     *     * @param string $tableName     * @param string $schemaName OPTIONAL     * @return array     */    abstract public function describeTable($tableName, $schemaName = null);    /**     * Creates a connection to the database.     *     * @return void     */    abstract protected function _connect();    /**     * Force the connection to close.     *     * @return void     */    abstract public function closeConnection();    /**     * Prepare a statement and return a PDOStatement-like object.     *     * @param string|Zend_Db_Select $sql SQL query     * @return Zend_Db_Statment|PDOStatement     */    abstract public function prepare($sql);    /**     * Gets the last ID generated automatically by an IDENTITY/AUTOINCREMENT column.     *     * As a convention, on RDBMS brands that support sequences     * (e.g. Oracle, PostgreSQL, DB2), this method forms the name of a sequence     * from the arguments and returns the last id generated by that sequence.     * On RDBMS brands that support IDENTITY/AUTOINCREMENT columns, this method     * returns the last value generated for such a column, and the table name     * argument is disregarded.     *     * @param string $tableName   OPTIONAL Name of table.     * @param string $primaryKey  OPTIONAL Name of primary key column.     * @return integer     */    abstract public function lastInsertId($tableName = null, $primaryKey = null);    /**     * Begin a transaction.     */    abstract protected function _beginTransaction();    /**     * Commit a transaction.     */    abstract protected function _commit();    /**     * Roll-back a transaction.     */    abstract protected function _rollBack();    /**     * Set the fetch mode.     *     * @param integer $mode     */    abstract public function setFetchMode($mode);    /**     * Adds an adapter-specific LIMIT clause to the SELECT statement.     *     * @param mixed $sql     * @param integer $count     * @param integer $offset     * @return string     */    abstract public function limit($sql, $count, $offset = 0);    /**     * Check if the adapter supports real SQL parameters.     *     * @param string $type 'positional' or 'named'     * @return bool     */    abstract public function supportsParameters($type);}

⌨️ 快捷键说明

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