CrossPHP
  • Namespace
  • Class
  • Download

Namespaces

  • Cross
    • Auth
    • Cache
      • Driver
      • Request
    • Core
    • DB
      • Connecter
      • Drivers
      • SQLAssembler
    • Exception
    • Http
    • I
    • Lib
      • Document
    • Module
    • MVC
    • Runtime
  • None

Classes

  • CouchDriver
  • MongoDriver
  • PDOSqlDriver

Class PDOSqlDriver

Cross\DB\Drivers\PDOSqlDriver implements Cross\I\SqlInterface
Namespace: Cross\DB\Drivers
Package: Cross\DB\Drivers
Author:

wonli wonli@live.com Class PDOSqlDriver


Located at DB/Drivers/PDOSqlDriver.php

Methods summary

public
# __construct( Cross\I\PDOConnecter $connecter, Cross\DB\SQLAssembler\SQLAssembler $SQLAssembler )

创建数据库连接

创建数据库连接

Parameters

$connecter
$SQLAssembler

Throws

Cross\Exception\CoreException
public mixed
# get( string $table, string $fields, string|array $where )

获取单条数据

获取单条数据

Parameters

$table
$fields
$where

Returns

mixed

Throws

Cross\Exception\CoreException

Implementation of

Cross\I\SqlInterface::get()
public mixed
# getAll( string $table, string $fields, string|array $where = '', integer|string $order = 1, integer|string $group_by = 1, integer|string $limit = 0 )

获取表中所有数据

获取表中所有数据

Parameters

$table
$fields
$where
$order
$group_by
$limit
0 表示无限制

Returns

mixed

Throws

Cross\Exception\CoreException

Implementation of

Cross\I\SqlInterface::getAll()
public boolean|mixed
# add( string $table, string|array $data, boolean $multi = false, array & $insert_data = array(), boolean $openTA = false )

插入数据

插入数据

Parameters

$table
$data
$multi
是否批量添加
$insert_data
批量添加的数据
$openTA
批量添加时是否开启事务

Returns

boolean|mixed

Throws

Cross\Exception\CoreException

See

SQLAssembler::add()

Implementation of

Cross\I\SqlInterface::add()
public mixed
# find( string $table, string $fields, string|array $where, string|integer $order = 1, array & $page = array('p' => 1, 'limit' => 50), integer $group_by = 1 )

带分页的数据查询

带分页的数据查询

Parameters

$table
$fields
$where
$order
$page
$group_by

Returns

mixed

Throws

Cross\Exception\CoreException

Implementation of

Cross\I\SqlInterface::find()
public boolean
# update( string $table, string|array $data, string|array $where )

数据更新

数据更新

Parameters

$table
$data
$where

Returns

boolean

Throws

Cross\Exception\CoreException

Implementation of

Cross\I\SqlInterface::update()
public boolean
# del( string $table, string|array $where, boolean $multi = false, boolean $openTA = false )

删除

删除

Parameters

$table
$where
$multi
是否批量删除数据
$openTA
是否开启事务

Returns

boolean

Throws

Cross\Exception\CoreException

See

SQLAssembler::del()

Implementation of

Cross\I\SqlInterface::del()
public mixed
# fetchOne( string $sql, integer $fetch_style = Cross\DB\Drivers\PDO::FETCH_ASSOC, integer $cursor_orientation = Cross\DB\Drivers\PDO::FETCH_ORI_NEXT, integer $cursor_offset = 0 )

执行一条SQL 语句 并返回结果

执行一条SQL 语句 并返回结果

Parameters

$sql
$fetch_style
$cursor_orientation
$cursor_offset

Returns

mixed

Throws

Cross\Exception\CoreException
public array
# fetchAll( string $sql, integer $fetch_style = Cross\DB\Drivers\PDO::FETCH_ASSOC, null $fetch_argument = null, array $ctor_args = array() )

执行sql 并返回所有结果

执行sql 并返回所有结果

Parameters

$sql
$fetch_style
$fetch_argument
$ctor_args
当fetch_style为PDO::FETCH_CLASS时, 自定义类的构造函数的参数。

Returns

array

Throws

Cross\Exception\CoreException
public integer
# execute( string $sql )

执行sql 用于无返回值的操作

执行sql 用于无返回值的操作

Parameters

$sql

Returns

integer

Throws

Cross\Exception\CoreException
public Cross\DB\Drivers\PDOSqlDriver
# select( string $fields = '*', string $modifier = '' )

链式查询以select开始,跟原生的sql语句保持一致

链式查询以select开始,跟原生的sql语句保持一致

Parameters

$fields
$modifier

Returns

Cross\DB\Drivers\PDOSqlDriver
public Cross\DB\Drivers\PDOSqlDriver
# insert( string $table, array $data = array(), string $modifier = '' )

insert

insert

Parameters

$table
$data
$modifier

Returns

Cross\DB\Drivers\PDOSqlDriver
public Cross\DB\Drivers\PDOSqlDriver
# replace( string $table, string $modifier = '' )

replace

replace

Parameters

$table
$modifier

Returns

Cross\DB\Drivers\PDOSqlDriver
public Cross\DB\Drivers\PDOSqlDriver
# from( $table )

Parameters

$table

Returns

Cross\DB\Drivers\PDOSqlDriver
public Cross\DB\Drivers\PDOSqlDriver
# where( $where )

Parameters

$where

Returns

Cross\DB\Drivers\PDOSqlDriver

Throws

Cross\Exception\CoreException
public Cross\DB\Drivers\PDOSqlDriver
# limit( $start, boolean $end = false )

Parameters

$start
$end

Returns

Cross\DB\Drivers\PDOSqlDriver
public Cross\DB\Drivers\PDOSqlDriver
# offset( $offset )

Parameters

$offset

Returns

Cross\DB\Drivers\PDOSqlDriver
public Cross\DB\Drivers\PDOSqlDriver
# orderBy( $order )

Parameters

$order

Returns

Cross\DB\Drivers\PDOSqlDriver
public Cross\DB\Drivers\PDOSqlDriver
# groupBy( $group )

Parameters

$group

Returns

Cross\DB\Drivers\PDOSqlDriver
public Cross\DB\Drivers\PDOSqlDriver
# having( $having )

Parameters

$having

Returns

Cross\DB\Drivers\PDOSqlDriver
public Cross\DB\Drivers\PDOSqlDriver
# procedure( $procedure )

Parameters

$procedure

Returns

Cross\DB\Drivers\PDOSqlDriver
public Cross\DB\Drivers\PDOSqlDriver
# into( $var_name )

Parameters

$var_name

Returns

Cross\DB\Drivers\PDOSqlDriver
public Cross\DB\Drivers\PDOSqlDriver
# set( $set )

Parameters

$set

Returns

Cross\DB\Drivers\PDOSqlDriver
public Cross\DB\Drivers\PDOSqlDriver
# on( string $on )

Parameters

$on

Returns

Cross\DB\Drivers\PDOSqlDriver
public mixed
# getSQL( boolean $only_sql = false )

返回链式查询当前生成的prepare语句

返回链式查询当前生成的prepare语句

Parameters

$only_sql

Returns

mixed
public string
# getPrefix( )

获取表前缀

获取表前缀

Returns

string
public PDOStatement
# stmt( boolean $execute = true, array $prepare_params = array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY) )

绑定链式查询生成的sql语句并返回stmt对象

绑定链式查询生成的sql语句并返回stmt对象

Parameters

$execute
是否调用stmt的execute
$prepare_params
prepare时的参数

Returns

PDOStatement

Throws

Cross\Exception\CoreException
public boolean
# stmtExecute( array $prepare_params = array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY) )

链式执行操作

链式执行操作

Parameters

$prepare_params

Returns

boolean

Throws

Cross\Exception\CoreException
public
# prepare( string $statement, array $params = array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY) )

参数绑定

参数绑定

Parameters

$statement
$params

Returns


$this

Throws

Cross\Exception\CoreException
public integer|Cross\DB\Drivers\PDOSqlDriver
# exec( array $args = array(), boolean $row_count = false )

执行参数绑定

执行参数绑定

Parameters

$args
$row_count

Returns

integer|Cross\DB\Drivers\PDOSqlDriver
$this

Throws

Cross\Exception\CoreException
public mixed
# stmtFetch( boolean $_fetchAll = false, integer $fetch_style = Cross\DB\Drivers\PDO::FETCH_ASSOC )

返回参数绑定结果

返回参数绑定结果

Parameters

$_fetchAll
$fetch_style

Returns

mixed

Throws

Cross\Exception\CoreException
public mixed
# getMetaData( string $table, boolean $fields_map = true )

获取表的字段信息

获取表的字段信息

Parameters

$table
$fields_map

Returns

mixed
public boolean
# getAutoIncrementName( string $table_name )

获取自增字段名

获取自增字段名

Parameters

$table_name

Returns

boolean
public Cross\I\PDOConnecter
# getConnecter( )

Returns

Cross\I\PDOConnecter
public
# setConnecter( Cross\I\PDOConnecter $connecter )

设置PDOConnecter对象

设置PDOConnecter对象

Parameters

$connecter
public Cross\DB\SQLAssembler\SQLAssembler
# getSQLAssembler( )

Returns

Cross\DB\SQLAssembler\SQLAssembler
public
# setSQLAssembler( Cross\DB\SQLAssembler\SQLAssembler $SQLAssembler )

设置SQLAssembler对象

设置SQLAssembler对象

Parameters

$SQLAssembler
public string
# parseFields( string|array $fields )

解析fields

解析fields

Parameters

$fields

Returns

string
public string
# parseWhere( string|array $where, string|array & $params )

解析where

解析where

Parameters

$where
$params

Returns

string

Throws

Cross\Exception\CoreException
public integer|string
# parseOrder( string|array $order )

解析order

解析order

Parameters

$order

Returns

integer|string
public integer
# parseGroup( string $group_by )

解析group

解析group

Parameters

$group_by

Returns

integer
public boolean
# commit( )

开启事务

开启事务

Returns

boolean
public boolean
# beginTA( )

Returns

boolean
public boolean
# rollBack( )

回滚

回滚

Returns

boolean
public string
# insertId( )

返回最后操作的id

返回最后操作的id

Returns

string
protected mixed
# getPrepareResult( boolean $_fetchAll = false, integer $fetch_style = Cross\DB\Drivers\PDO::FETCH_ASSOC )

绑定sql语句,执行后给出返回结果

绑定sql语句,执行后给出返回结果

Parameters

$_fetchAll
$fetch_style

Returns

mixed

Throws

Cross\Exception\CoreException

Properties summary

public PDOStatement $stmt
#
public PDO $pdo
#
public string $sql
#
protected integer $qid

链式查询每条语句的标示符

链式查询每条语句的标示符

# 0
protected array $querySQL

以qid为key,存储链式查询生成的sql语句

以qid为key,存储链式查询生成的sql语句

# array(0)
protected array $queryParams

联系查询生成的参数缓存

联系查询生成的参数缓存

#
protected string|array $params
#
protected Cross\I\PDOConnecter $connecter
#
protected Cross\DB\SQLAssembler\SQLAssembler $SQLAssembler
#
CrossPHP API documentation generated by ApiGen