数据库服务
[ 查看开发文档 ] [ 类树图: Database ] [ 索引: Database ] [ 所有元素 ] [ 首页 ]

Class: Driver

源文件路径: /Service/Database/Driver.class.php

Class Overview


数据库实现基类


Author(s):

Variables

Methods


Child classes:

Sqlsrv
Sqlsrv数据库驱动
Firebird
Firebird数据库驱动
Mongo
Mongo数据库驱动
Pgsql
Pgsql数据库驱动
Sqlite
Sqlite数据库驱动
Oracle
Oracle数据库驱动
Mysql
mysql数据库驱动

Inherited Variables

Inherited Methods


Class Details

[line 11]
数据库实现基类
  • Abstract:


[ Top ]


Class Variables

$bind = array()

[line 67]

  • Access: protected

Type:   mixed


[ Top ]

$config = array(
        'type'              =>  '',     // 数据库类型
        'hostname'          =>  '127.0.0.1', // 服务器地址
        'database'          =>  '',          // 数据库名
        'username'          =>  '',      // 用户名
        'password'          =>  '',          // 密码
        'hostport'          =>  '',        // 端口     
        'dsn'               =>  '', //          
        'params'            =>  array(),// 数据库连接参数        
'charset'=>'utf8',// 数据库编码默认采用utf8  
'prefix'=>'',// 数据库表前缀
'debug'=>false,// 数据库调试模式
'deploy'=>0,// 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
'rw_separate'=>false,// 数据库读写是否分离 主从式有效
'master_num'=>1,// 读写分离后 主服务器数量
'slave_no'=>'',// 指定从服务器序号
'db_like_fields'=>'',)

[line 34]

  • Access: protected

Type:   mixed


[ Top ]

$error =  ''

[line 26]

  • Access: protected

Type:   mixed


[ Top ]

$executeTimes =    0

[line 59]

  • Access: protected

Type:   mixed


[ Top ]

$exp = array('eq'=>'=','neq'=>'<>','gt'=>'>','egt'=>'>=','lt'=>'<','elt'=>'<=','notlike'=>'NOT LIKE','like'=>'LIKE','in'=>'IN','notin'=>'NOT IN','not in'=>'NOT IN','between'=>'BETWEEN','not between'=>'NOT BETWEEN','notbetween'=>'NOT BETWEEN')

[line 53]

  • Access: protected

Type:   mixed


[ Top ]

$lastInsID =  null

[line 20]

  • Access: protected

Type:   mixed


[ Top ]

$linkID = array()

[line 28]

  • Access: protected

Type:   mixed


[ Top ]

$model =  '_steeze_'

[line 15]

  • Access: protected

Type:   mixed


[ Top ]

$modelSql = array()

[line 18]

  • Access: protected

Type:   mixed


[ Top ]

$numRows =  0

[line 22]

  • Access: protected

Type:   mixed


[ Top ]

$options = array(
        PDO::ATTR_CASE              =>  PDO::CASE_NATURAL,
        PDO::ATTR_ERRMODE           =>  PDO::ERRMODE_EXCEPTION,
        PDO::ATTR_ORACLE_NULLS      =>  PDO::NULL_NATURAL,
        PDO::ATTR_STRINGIFY_FETCHES =>  false,
   )

[line 61]

  • Access: protected

Type:   mixed


[ Top ]

$PDOStatement =  null

[line 13]

  • Access: protected

Type:   mixed


[ Top ]

$queryStr =  ''

[line 17]

  • Access: protected

Type:   mixed


[ Top ]

$queryTimes =    0

[line 57]

  • Access: protected

Type:   mixed


[ Top ]

$selectSql =  'SELECT%DISTINCT% %FIELD% FROM %TABLE%%FORCE%%JOIN%%WHERE%%GROUP%%HAVING%%ORDER%%LIMIT% %UNION%%LOCK%%COMMENT%'

[line 55]

  • Access: protected

Type:   mixed


[ Top ]

$transTimes =  0

[line 24]

  • Access: protected

Type:   mixed


[ Top ]

$_linkID =  null

[line 30]

  • Access: protected

Type:   mixed


[ Top ]

$_linkNum =  0

[line 32]

  • Access: protected

Type:   mixed


[ Top ]



Method Detail

__construct (Constructor)   [line 74]

Driver __construct( [array $config = ''])

架构函数 读取数据库配置信息
  • Access: public

Overridden in child classes as:

Mongo::__construct()
架构函数 读取数据库配置信息

Parameters:

array   $config   —  数据库配置数组

[ Top ]

__destruct (Destructor)   [line 1177]

void __destruct( )

析构方法
  • Access: public

[ Top ]

bindParam   [line 432]

void bindParam( string $name, mixed $value)

参数绑定
  • Access: protected

Parameters:

string   $name   —  绑定参数名
mixed   $value   —  绑定值

[ Top ]

buildSelectSql   [line 991]

string buildSelectSql( [array $options = array()])

生成查询SQL
  • Access: public

Parameters:

array   $options   —  表达式

[ Top ]

close   [line 362]

void close( )

关闭数据库
  • Access: public

Overridden in child classes as:

Mongo::close()
关闭数据库

[ Top ]

commit   [line 290]

boolean commit( )

用于非自动提交状态下面的查询提交
  • Access: public

[ Top ]

connect   [line 87]

void connect( [ $config = ''], [ $linkNum = 0], [ $autoConnection = false])

连接数据库方法
  • Access: public

Overridden in child classes as:

Mongo::connect()
连接数据库方法

Parameters:

   $config   — 
   $linkNum   — 
   $autoConnection   — 

[ Top ]

debug   [line 1084]

void debug( boolean $start)

数据库调试 记录当前SQL
  • Access: protected

Parameters:

boolean   $start   —  调试开始标记 true 开始 false 结束

[ Top ]

delete   [line 950]

false delete( [array $options = array()])

删除记录
  • Return: | integer
  • Access: public

Overridden in child classes as:

Sqlsrv::delete()
删除记录
Mongo::delete()
删除记录

Parameters:

array   $options   —  表达式

[ Top ]

error   [line 372]

string error( )

数据库错误信息

并显示当前的SQL语句

  • Access: public

Overridden in child classes as:

Mongo::error()
数据库错误信息

[ Top ]

escapeString   [line 1065]

string escapeString( string $str)

SQL指令安全过滤
  • Access: public

Overridden in child classes as:

Firebird::escapeString()
SQL指令安全过滤
Sqlite::escapeString()
SQL指令安全过滤
Oracle::escapeString()
SQL指令安全过滤

Parameters:

string   $str   —  SQL字符串

[ Top ]

execute   [line 213]

mixed execute( string $str, [boolean $fetchSql = false])

执行语句
  • Access: public

Overridden in child classes as:

Firebird::execute()
执行语句
Mongo::execute()
执行语句
Oracle::execute()
执行语句

Parameters:

string   $str   —  sql指令
boolean   $fetchSql   —  不执行只是获取SQL

[ Top ]

free   [line 142]

void free( )

释放查询结果
  • Access: public

Overridden in child classes as:

Mongo::free()
释放查询结果

[ Top ]

getError   [line 1055]

string getError( )

获取最近的错误信息
  • Access: public

[ Top ]

getExecuteTimes   [line 354]

integer getExecuteTimes( )

获得执行次数
  • Access: public

[ Top ]

getLastInsID   [line 1046]

string getLastInsID( )

获取最近插入的ID
  • Access: public

[ Top ]

getLastSql   [line 1037]

string getLastSql( [string $model = ''])

获取最近一次查询的sql语句
  • Access: public

Parameters:

string   $model   —  模型名

[ Top ]

getQueryTimes   [line 345]

integer getQueryTimes( [boolean $execute = false])

获得查询次数
  • Access: public

Parameters:

boolean   $execute   —  是否包含所有查询

[ Top ]

initConnect   [line 1104]

void initConnect( [boolean $master = true])

初始化数据库连接
  • Access: protected

Parameters:

boolean   $master   —  主服务器

[ Top ]

insert   [line 833]

false insert( mixed $data, [array $options = array()], [boolean $replace = false])

插入记录
  • Return: | integer
  • Access: public

Overridden in child classes as:

Mongo::insert()
插入记录

Parameters:

mixed   $data   —  数据
array   $options   —  参数表达式
boolean   $replace   —  是否replace

[ Top ]

insertAll   [line 871]

false insertAll( mixed $dataSet, [array $options = array()], [boolean $replace = false])

批量插入记录
  • Return: | integer
  • Access: public

Overridden in child classes as:

Mongo::insertAll()
插入多条记录
Mysql::insertAll()
批量插入记录

Parameters:

mixed   $dataSet   —  数据集
array   $options   —  参数表达式
boolean   $replace   —  是否replace

[ Top ]

multiConnect   [line 1120]

void multiConnect( [boolean $master = false])

连接分布式服务器
  • Access: protected

Parameters:

boolean   $master   —  主服务器

[ Top ]

parseBind   [line 799]

array parseBind( array $bind)

参数绑定分析
  • Access: protected

Parameters:

array   $bind   — 

[ Top ]

parseComment   [line 759]

string parseComment( string $comment)

comment分析
  • Access: protected

Parameters:

string   $comment   — 

[ Top ]

parseDistinct   [line 769]

string parseDistinct( mixed $distinct)

distinct分析
  • Access: protected

Parameters:

mixed   $distinct   — 

[ Top ]

parseDsn   [line 136]

string parseDsn( array $config)

解析pdo连接的dsn信息
  • Access: protected

Overridden in child classes as:

Sqlsrv::parseDsn()
解析pdo连接的dsn信息
Firebird::parseDsn()
解析pdo连接的dsn信息
Pgsql::parseDsn()
解析pdo连接的dsn信息
Sqlite::parseDsn()
解析pdo连接的dsn信息
Oracle::parseDsn()
解析pdo连接的dsn信息
Mysql::parseDsn()
解析pdo连接的dsn信息

Parameters:

array   $config   —  连接信息

[ Top ]

parseDuplicate   [line 821]

string parseDuplicate( mixed $duplicate)

ON DUPLICATE KEY UPDATE 分析
  • Access: protected

Overridden in child classes as:

Mysql::parseDuplicate()
ON DUPLICATE KEY UPDATE 分析

Parameters:

mixed   $duplicate   — 

[ Top ]

parseField   [line 473]

string parseField( mixed $fields)

field分析
  • Access: protected

Overridden in child classes as:

Mongo::parseField()
field分析

Parameters:

mixed   $fields   — 

[ Top ]

parseForce   [line 809]

string parseForce( mixed $index)

index分析,可在操作链中指定需要强制使用的索引
  • Access: protected

Parameters:

mixed   $index   — 

[ Top ]

parseGroup   [line 739]

string parseGroup( mixed $group)

group分析
  • Access: protected

Parameters:

mixed   $group   — 

[ Top ]

parseHaving   [line 749]

string parseHaving( string $having)

having分析
  • Access: protected

Parameters:

string   $having   — 

[ Top ]

parseJoin   [line 704]

string parseJoin( mixed $join)

join分析
  • Access: protected

Parameters:

mixed   $join   — 

[ Top ]

parseKey   [line 442]

string parseKey( &$key, string $key)

字段名分析
  • Access: protected

Overridden in child classes as:

Sqlsrv::parseKey()
字段名分析
Mysql::parseKey()
字段和表名处理

Parameters:

string   $key   — 
   &$key   — 

[ Top ]

parseLimit   [line 694]

string parseLimit( $limit, mixed $lmit)

limit分析
  • Access: protected

Overridden in child classes as:

Sqlsrv::parseLimit()
limit
Firebird::parseLimit()
limit
Mongo::parseLimit()
limit分析
Pgsql::parseLimit()
limit分析
Sqlite::parseLimit()
limit
Oracle::parseLimit()
limit

Parameters:

mixed   $lmit   — 
   $limit   — 

[ Top ]

parseLock   [line 396]

string parseLock( [ $lock = false])

设置锁机制
  • Access: protected

Overridden in child classes as:

Oracle::parseLock()
设置锁机制

Parameters:

   $lock   — 

[ Top ]

parseOrder   [line 718]

string parseOrder( mixed $order)

order分析
  • Access: protected

Overridden in child classes as:

Sqlsrv::parseOrder()
order分析
Mongo::parseOrder()
order分析

Parameters:

mixed   $order   — 

[ Top ]

parseSet   [line 406]

string parseSet( array $data)

set分析
  • Access: protected

Overridden in child classes as:

Mongo::parseSet()
set分析

Parameters:

array   $data   — 

[ Top ]

parseSql   [line 1010]

string parseSql( $sql, [array $options = array()])

替换SQL语句中表达式
  • Access: public

Parameters:

array   $options   —  表达式
   $sql   — 

[ Top ]

parseSteezeWhere   [line 659]

string parseSteezeWhere( string $key, mixed $val)

特殊条件分析
  • Access: protected

Parameters:

string   $key   — 
mixed   $val   — 

[ Top ]

parseTable   [line 501]

string parseTable( $tables, mixed $table)

table分析
  • Access: protected

Parameters:

mixed   $table   — 
   $tables   — 

[ Top ]

parseUnion   [line 779]

string parseUnion( mixed $union)

union分析
  • Access: protected

Parameters:

mixed   $union   — 

[ Top ]

parseValue   [line 452]

string parseValue( mixed $value)

value分析
  • Access: protected

Parameters:

mixed   $value   — 

[ Top ]

parseWhere   [line 524]

string parseWhere( mixed $where)

where分析
  • Access: protected

Overridden in child classes as:

Mongo::parseWhere()
where分析

Parameters:

mixed   $where   — 

[ Top ]

parseWhereItem   [line 582]

void parseWhereItem( $key, $val)

  • Access: protected

Overridden in child classes as:

Mongo::parseWhereItem()
where子单元分析

Parameters:

   $key   — 
   $val   — 

[ Top ]

query   [line 153]

mixed query( string $str, [boolean $fetchSql = false])

执行查询 返回数据集
  • Access: public

Parameters:

string   $str   —  sql指令
boolean   $fetchSql   —  不执行只是获取SQL

[ Top ]

rollback   [line 307]

boolean rollback( )

事务回滚
  • Access: public

[ Top ]

select   [line 977]

mixed select( [array $options = array()])

查找记录
  • Access: public

Overridden in child classes as:

Mongo::select()
查找记录

Parameters:

array   $options   —  表达式

[ Top ]

selectInsert   [line 909]

false selectInsert( string $fields, string $table, [ $options = array()], array $option)

通过Select方式插入记录
  • Return: | integer
  • Access: public

Parameters:

string   $fields   —  要插入的数据表字段名
string   $table   —  要插入的数据表名
array   $option   —  查询数据参数
   $options   — 

[ Top ]

setModel   [line 1075]

void setModel( string $model)

设置当前操作模型
  • Access: public

Parameters:

string   $model   —  模型名

[ Top ]

startTrans   [line 274]

void startTrans( )

启动事务
  • Access: public

[ Top ]

update   [line 926]

false update( mixed $data, array $options)

更新记录
  • Return: | integer
  • Access: public

Overridden in child classes as:

Sqlsrv::update()
更新记录
Mongo::update()
更新记录

Parameters:

mixed   $data   —  数据
array   $options   —  表达式

[ Top ]


Powered by Steeze. author email: spring.wind2006@163.com