数据库抽象层 - dbx

数据库抽象层 - dbx

数据库抽象层 - dbx

模块是一个数据库抽象层, dbx函数允许你访问所有支持的数据库,使用单个的调用约定, dbx函数,不直接和数据打交道,但是和这个数据库支持的模块打交道

安装

为了dbx模块支持相应的数据库, 这个模块PHP必须加载, 当前支持以下数据库 FrontBase (available from PHP 4.1.0). Microsoft SQL Server MySQL ODBC PostgreSQL Sybase-CT (available from PHP 4.2.0). Oracle (oci8) (available from PHP 4.3.0). SQLite (PHP 5).

配置

dbx.colnames_case 默认 : “unchanged”
PHP_INI_SYSTEM 列名称能够返回 ‘unchanged’ 或者转换成 ‘uppercase’ / ‘lowercase’

资源类型

这里定义了两种资源类型, 第一种就是数据库连接类资源,第二个是存储query结果数组的对象

函数

int dbx_close ( object $link_identifier )
关闭连接
int dbx_compare ( array $row_a , array $row_b , string $column_key [, int $flags = DBX_CMP_ASC | DBX_CMP_NATIVE ] )
对比两行, 这是一个在dbx_sort() 中一个排序的函数
object dbx_connect ( mixed $module , string $host , string $database , string $username , string $password [, int $persistent ] )
打开一个数据库连接
string dbx_error ( object $link_identifier )
返回最后一个错误
string dbx_escape_string ( object $link_identifier , string $text )
转义字串
mixed dbx_fetch_row ( object $result_identifier )
取回一行或者是取回所有,如果在查询中使用了 DBX_RESULT_UNBUFFERED 标志,这里取回一行,如果没有,则取回所有行数
mixed dbx_query ( object $link_identifier , string $sql_statement [, int $flags ] )
查询并且取回所有的结果
bool dbx_sort ( object $result , string $user_compare_function )
排序结果, 根据用户自定义函数或者自带的函数


原文地址 : 数据库抽象层 - dbx
本站是作者语雀文档的镜像站, 如对文章有任何疑问请移步语雀进行 提问

数据库抽象层 - DBA

数据库抽象层 - DBA

数据库抽象层 - DBA

这些函数建立的基础上是访问 Berkeley DB 样式数据库, 这是一个基于文件的抽象层. 许多方面的特性基于基本的数据库接口,例如函数 dba_optimize, dba_dba_sync 将在特定的数据库上执行,但是在某些上不执行.你需要安装dba-handler.
本函数使系统在更新数据库时,能同时写入实体的数据库储存装置 (如硬碟) 之中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
dbm
原始的berkeley DB 样式数据库, 柏克莱发展的最早期 DBA 数据库。
ndbm
新类型,比dbm有弹性.
gdbm
GNU database Manger
GNU 发展的 DBA,ftp://ftp.gnu.org/pub/gnu/gdbm/
db2
Berkeley DB2
由 Sleepycat 软件开发的 DB2 (非 IBM 的 DB2),http://www.sleepycat.com
好像这个数据库已经不存在了,oracle官网没找到相关的支持
db3
Berkeley DB3
db4
Berkeley DB4/5
cdb
CDB
这是 qmail 作者开发快速可靠的 DBA,http://pobox.com/~djb/cdb.html
cdb_make
建立cdb文件
flatfile
不建议使用.php4.3
inifile
ini文件处理
qdbm
php5.0启用.

安装

配置

函数

void dba_close ( resource $handle )
关闭数据库连接,并且释放指定的数据库资源
bool dba_delete ( string $key , resource $handle )
删除数据库指定的键输入
bool dba_exists ( string $key , resource $handle )
检测指定的键是否在数据库中存在
string dba_fetch ( string $key , [int $skip ,]resource $handle )
在指定的数据库句柄中根据指定的键来获取指定的值 - $key - $skip 跳过的
string dba_firstkey ( resource $handle )
取回第一个键, 并且重置指针
array dba_handlers ([ bool $full_info = false ] )
列出所有的支持的handlers
bool dba_insert ( string $key , string $value , resource $handle )
插入键/值
mixed dba_key_split ( mixed $key )
将键值的字符串表现形式转换为数组的表现形式 返回的形式 : array(0 => group, 1 => value_name)
array dba_list ( void )
列出所有打开的数据库文件
string dba_nextkey ( resource $handle )
本函数取得数据库的下一笔键值 (key)。参数 handle 为打开数据库时所返回来的代号 ID。返回值即为键值,若取出失败则返回 false
resource dba_open ( string $path , string $mode [, string $handler [, mixed $... ]] )
本函数用来打开指定的数据库,并保持与数据库连接的状态。参数 path 为数据库的路径及数据库名称 - $path 打开 - $mode 模式 r 读取 w 读取写入 c 读写 , 不存在并且键入 n 建立, 清空和读写. d lock
bool dba_optimize ( resource $handle )
本函数将优化数据库。参数 handle 为打开数据库时所返回来的代号 ID。最佳化成功则返回 true 值,反之则返回 false。
resource dba_popen ( string $path , string $mode [, string $handler [, mixed $... ]] )
本函数用来打开指定的数据库,并保持与数据库连接的状态
bool dba_replace ( string $key , string $value , resource $handle )
本函数改动数据库中的资料,若资料不存在则加入。参数 key 为键值 (key) 字符串。参数 value 为欲改动的资料内容
bool dba_sync ( resource $handle )
本函数使系统在更新数据库时,能同时写入实体的数据库储存装置 (如硬碟) 之中


原文地址 : 数据库抽象层 - DBA
本站是作者语雀文档的镜像站, 如对文章有任何疑问请移步语雀进行 提问

与具体数据库系统相关的扩展 - mysqli

与具体数据库系统相关的扩展 - mysqli

与具体数据库系统相关的扩展 - mysqli

MySQL增强版扩展, 基于过程和面向对象的接口 支持多种连接方式 tcp/ip, 域名sockets, win命名管不到 localhost 是特殊的命名管道, 你不能使用localhost来打开tcp/ip连接,你必须使用 127.0.0.1来替代

安装/配置

mysqli.allow_persistent 默认 : “1”
PHP_INI_SYSTEM [5.3.0] 开启使用持久化连接 mysqli.max_persistent 默认 : “-1”
PHP_INI_SYSTEM 可以创建的持久化连接的最大数量 mysqli.max_links 默认 : “-1”
PHP_INI_SYSTEM 最大连接数量
mysqli.default_port 默认 : “3306”
PHP_INI_ALL 默认端口
mysqli.default_socket 默认 : Null
PHP_INI_ALL 当连接到本地数据库服务器时如果没有指定其他socket名称,使用的默认socket名称
mysqli.default_host 默认 : Null
PHP_INI_ALL 默认host
mysqli.default_user 默认 : Null
PHP_INI_ALL 用户
mysqli.default_pw 默认 : Null
PHP_INI_ALL 密码 mysqli.reconnect 默认 : “0”
PHP_INI_SYSTEM 连接丢失时是否自动重新连接 mysqli.allow_local_infile 默认 : “1”
PHP_INI_SYSTEM 允许Mysql的Load Data语句访问PHP角度看的本地文件
mysqli.cache_size 默认 : “2000”
PHP_INI_SYSTEM 缓存的大小,仅仅用户 mysqlnd

MySQLi — MySQLi类

属性

int $mysqli->affected_rows; int mysqli_affected_rows ( mysqli $link )
获取之前mysql操作时候影响的行数 insert, update, replace, delete >0 表明有相应影响的行数 =0 没有相关行 <0 查询错误
string $mysqli->client_info; string mysqli_get_client_info ( mysqli $link )
返回mysql客户端的库版本. int $mysqli->client_version; int mysqli_get_client_version ( mysqli $link )
获取mysql客户端信息, 返回现实当前mysql客户端的版本. main_version_10000 + minor_version _100 + sub_version
string $mysqli->connect_errno; int mysqli_connect_errno ( void )
返回上个连接错误调用的错误码
string $mysqli->connect_error; string mysqli_connect_error ( void )
返回上一个连接的错误信息
int $errno; int mysqli_errno ( mysqli $link )
返回最近的mysql函数调用产生的错误代码 array $mysqli->error_list; array mysqli_error_list ( mysqli $link )
返回最近mysql调用的错误的数组 string $mysqli->error; string mysqli_error ( mysqli $link )
以字串形式返回上个错误的字串形式 int $mysqli->field_count; int mysqli_field_count ( mysqli $link )
返回最近的查询中字段的数量
string $mysqli->host_info; string mysqli_get_host_info ( mysqli $link )
返回描述当前连接的信息
string $mysqli->protocol_version; int mysqli_get_proto_info ( mysqli $link )
返回mysql协议版本号
string $mysqli->server_info; string mysqli_get_server_info ( mysqli $link )
服务器信息
int $mysqli->server_version; int mysqli_get_server_version ( mysqli $link )
服务器版本号
string $mysqli->info; string mysqli_info ( mysqli $link )
获取当前执行的查询操作的信息
mixed $mysqli->insert_id; mixed mysqli_insert_id ( mysqli $link )
返回带有自增长的字段的值.如果没有 ai属性, 或者上个操作没有进行insert/update操作,这个函数返回0,
string $mysqli->sqlstate; string mysqli_sqlstate ( mysqli $link )
从之前的Mysql操作中返回 SQLSTATE 错误, 返回上个错误中的包含 sqlstate 错误码的五位字串.
int $mysqli->thread_id; int mysqli_thread_id ( mysqli $link )
返回当前连接的线程ID
int $mysqli->warning_count; int mysqli_warning_count ( mysqli $link )
返回上个查询中的警告的数量, 你也可以使用sql命令 “SHOW WARNINGS [limit row_count]”

方法

bool mysqli::autocommit ( bool $mode ) bool mysqli_autocommit ( mysqli $link , bool $mode )
开启或者关闭数据库的自动提交功能, 这个函数不支持非事务表(myisam/isam)
bool mysqli::change_user ( string $user , string $password , string $database ) bool mysqli_change_user ( mysqli $link , string $user , string $password , string $database )
更换指定数据库连接的用户并且设置数据库, 为了能够正确的连接数据库, 这里的用户名和密码都必须有权限访问指定的数据库, 如果权限问题导致失败的话,当前用户认证将继续保存
string mysqli::character_set_name ( void ) string mysqli_character_set_name ( mysqli $link )
返回当前数据库连接的字符集的名字
bool mysqli::close ( void ) bool mysqli_close ( mysqli $link )
关闭上一个数据库连接
bool mysqli::commit ( void ) bool mysqli_commit ( mysqli $link )
提交一个事务
mysqli mysqli_connect ([ string $host = ini_get("mysqli.default_host") [, string $username = ini_get("mysqli.default_user") [, string $passwd = ini_get("mysqli.default_pw") [, string $dbname = "" [, int $port = ini_get("mysqli.default_port") [, string $socket = ini_get("mysqli.default_socket") ]]]]]] ) mysqli mysqli_connect(...)
打开一个新的数据库连接 - $host 可以使主机名/ ip地址 p: 开启持续连接 - $username - $passwd - $dbname - $port - $socket
bool mysqli::debug ( string $message ) bool mysqli_debug ( string $message )
运行debug操作
void mysqli::disable_reads_from_master ( void )
[5.3.0]
bool mysqli::dump_debug_info ( void ) bool mysqli_dump_debug_info ( mysqli $link )
设计用于超级权限用户执行将调试信息输出到连接相关的mysql服务端日志.
object mysqli::get_charset ( void ) object mysqli_get_charset ( mysqli $link )
返回当前设置字符集对象
string mysqli::get_client_info ( void ) string mysqli_get_client_info ( mysqli $link )
以字串形式返回mysql客户端版本 array mysqli_get_client_stats ( void )
[php5.3+] 返回客户端当前进行的状态信息, 仅仅适用于mysqlnd
bool mysqli::get_connection_stats ( void ) array mysqli_get_connection_stats ( mysqli $link )
[php5.3]获取当前客户端连接的统计信息, 仅仅适用于mysqlnd
mysqli_warning mysqli::get_warnings ( void ) mysqli_warning mysqli_get_warnings ( mysqli $link )
获取 show warnings 的结果
mysqli mysqli::init ( void ) mysqli mysqli_init ( void )
初始化 mysqli, 返回mysqli_real_connect()资源
bool mysqli::kill ( int $processid ) bool mysqli_kill ( mysqli $link , int $processid )
告诉服务器kill掉这个线程
bool mysqli::more_results ( void ) bool mysqli_more_results ( mysqli $link )
检测多重查询中是否有多重结果
bool mysqli::multi_query ( string $query ) bool mysqli_multi_query ( mysqli $link , string $query )
子数据库中执行一个或这个多个查询,使用分号分隔.取回第一个查询的结果, 你可以使用 mysqli_use_result() / mysqli_store_result(), 更多子查询的结果可以使用 mysqli_more_results() / mysqli_next_result() 来获取
bool mysqli::next_result ( void ) bool mysqli_next_result ( mysqli $link )
取回多重查询的下一个结果集合
bool mysqli::options ( int $option , mixed $value ) bool mysqli_options ( mysqli $link , int $option , mixed $value )
设置连接的额外属性, 这个函数可以设置和调用多次, 这个函数在 mysqli_init()后调用,并且在mysqli_real_connect()之前. MYSQLI_OPT_CONNECT_TIMEOUT [5.3.1+] 连接超时时间 (秒) MYSQLI_OPT_LOCAL_INFILE 启用/禁用 LOAD LOCAL INFILE MYSQLI_INIT_COMMAND 初始化之后执行的命令 MYSQLI_READ_DEFAULT_FILE 从指定的配置文件中读取配置,替代my.cnf MYSQLI_READ_DEFAULT_GROUP 从命名的组中读取指定的配置 bool mysqli::ping ( void ) bool mysqli_ping ( mysqli $link )
检测连接是否还在工作, 如果不工作, 并且全局选项 mysqli.reconnect 启用则尝试重连.这个寒素在客户端使用并且可以长时间的保留空闲.来检测服务器是否关闭如果关闭则尝试重连
public int mysqli::poll ( array &$read , array &$error , array &$reject , int $sec [, int $usec ] ) mysqli_poll(...)
[5.3.0+]检测列表 仅仅适用于mysqlnd mysqli_stmt mysqli::prepare ( string $query )
为单sql语句预处理.并且返回一个 语句处理器.并且在执行查询前绑定参数, 和取回结果之前绑定结果变量
mixed mysqli::query ( string $query [, int $resultmode = MYSQLI_STORE_RESULT ] ) mixed mysqli_query ( mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )
在数据库中执行查询 这里的 select, show, describe, explain 返回一个 Mysqli_result 的对象其他的将返回 true 这个函数等同于 mysqli_store_result/mysqli_use_result + mysqli_real_query
bool mysqli::real_connect ([ string $host [, string $username [, string $passwd [, string $dbname [, int $port [, string $socket [, int $flags ]]]]]]] )
建立一个数据库引擎连接 这个函数和 mysqli_connect() 函数不同, 这个函数 需要从 mysqli_init()建立, 可以使用mysqli_options()函数来建立多种选项的链接 $flags MYSQLI_CLIENT_COMPRESS 使用压缩协议 MYSQLI_CLIENT_FOUND_ROWS 返回匹配的行数,而不是影响的行数 MYSQLI_CLIENT_IGNORE_SPACE 允许函数中间保留空白 MYSQLI_CLIENT_INTERACTIVE 超时秒数 MYSQLI_CLIENT_SSL 使用ssl加密
string mysqli::escape_string ( string $escapestr ) string mysqli::real_escape_string ( string $escapestr ) string mysqli_real_escape_string ( mysqli $link , string $escapestr )
基于当前字符集来转义sql字串.
bool mysqli::real_query ( string $query )
执行一个单调数据库查询, 结果可以使用mysqli_store_result, mysqli_use_result检索或存储.为了确定给定的查询是否真的返回一个结果集, 可以查看 mysqli_field_count
public mysqli_result mysqli::reap_async_query ( void ) mysqli_result mysqli_reap_async_query ( mysql $link )
异步查询结果.
public bool mysqli::refresh ( int $options ) int mysqli_refresh ( resource $link , int $options )
[<=5.3.0]刷新表格或者缓存,或者重置服务器信息.
bool mysqli::rollback ( void ) bool mysqli_rollback ( mysqli $link )
回滚当前的事务
int mysqli::rpl_query_type ( string $query )
返回RPL查询类型
bool mysqli::select_db ( string $dbname ) bool mysqli_select_db ( mysqli $link , string $dbname )
选择默认的使用的数据库当执行查询的时候.
bool mysqli::send_query ( string $query )
bool mysqli::set_charset ( string $charset ) bool mysqli_set_charset ( mysqli $link , string $charset )
设置从服务器发送数据的默认的字符集, 这是首要的设置字符集的方法.而不是使用 “SET NAMES ..”
void mysqli_set_local_infile_default ( mysqli $link )
禁用 LOAD DATA INFILE LOCAL
bool mysqli::set_local_infile_handler ( mysqli $link , callable $read_func ) bool mysqli_set_local_infile_handler ( mysqli $link , callable $read_func )
设置调用加载文件处理函数的句柄
bool mysqli::ssl_set ( string $key , string $cert , string $ca , string $capath , string $cipher ) bool mysqli_ssl_set ( mysqli $link , string $key , string $cert , string $ca , string $capath , string $cipher )
用来使用ssl来这只 安全连接, 在调用mysqli_real_connect前调用.这个看书只有在启用了openssl支持之后才可用. 在PHP5.3.3之前. mysqlnd不支持ssl
string mysqli::stat ( void ) string mysqli_stat ( mysqli $link )
获取当前的系统状态
mysqli_stmt mysqli::stmt_init ( void )
初始化一条语句并用于mysqli_stmt_prepare(), 在使用 mysqli_stmt_prepare()之前调用任何mysqli_stmt函数都会失败
mysqli_result mysqli::store_result ( void ) mysqli_result mysqli_store_result ( mysqli $link )
从最后一个查询中传递一个结果集, 这个结果集可以用于 mysqli_data_seek()函数
bool mysqli_thread_safe ( void )
返回是否 ts 模式
mysqli_result mysqli::use_result ( void ) mysqli_result mysqli_use_result ( mysqli $link )
用来初始化取回一个结果集, 使用mysqli_real_query()函数来执行数据库查询.这个函数和 mysqli_store_result()函数在调用查询的时候被取回.

MySQLi_STMT — MySQLi_STMT类

/* 属性 /
int $mysqli_stmt->affected_rows; int mysqli_stmt_affected_rows ( mysqli_stmt $stmt )
返回影响的行号(insert,udate, delete), 这个函数仅仅在更新表格时候是使用, 为了获取select的行数,使用 mysqli_stmt_num_rows()
int $mysqli_stmt->errno; int mysqli_stmt_errno ( mysqli_stmt $stmt )
返回错误代码
array $mysqli_stmt->error_list; array mysqli_stmt_error_list ( mysqli_stmt $stmt )
[>=5.4.0]返回一系列的错误
string $mysqli_stmt->error; string mysqli_stmt_error ( mysqli_stmt $stmt )
返回上个错误的 字串描述
int $mysqli_stmt->field_count; int mysqli_stmt_field_count ( mysqli_stmt $stmt )
返回结果中的字段的数量
int $mysqli_stmt->insert_id; mixed mysqli_stmt_insert_id ( mysqli_stmt $stmt )
获取上一个自增sql的id
int $mysqli_stmt->num_rows; int mysqli_stmt_num_rows ( mysqli_stmt $stmt )
获取结果集中的结果数量
int $mysqli_stmt->param_count; int mysqli_stmt_param_count ( mysqli_stmt $stmt )
返回参数的数量
string $mysqli_stmt->sqlstate; string mysqli_stmt_sqlstate ( mysqli_stmt $stmt )
获取sqlstate 错误码 /
方法 */
int mysqli_stmt::attr_get ( int $attr ) int mysqli_stmt_attr_get ( mysqli_stmt $stmt , int $attr )
返回一个设置的属性的值.错误时候返回false
bool mysqli_stmt::attr_set ( int $attr , int $mode ) bool mysqli_stmt_attr_set ( mysqli_stmt $stmt , int $attr , int $mode )
设置或则修改一个预备语句的属性.
bool mysqli_stmt::bind_param ( string $types , mixed &$var1 [, mixed &$... ] ) bool mysqli_stmt_bind_param ( mysqli_stmt $stmt , string $types , mixed &$var1 [, mixed &$... ] )
绑定变量到prepare语句
bool mysqli_stmt::bind_result ( mixed &$var1 [, mixed &$... ] ) bool mysqli_stmt_bind_result ( mysqli_stmt $stmt , mixed &$var1 [, mixed &$... ] )
为结果绑定变量, 这里所有的列必须在execute()和fetch()后调用.基于列类型的扮靓能够改变之前的PHP类型, 绑定或者重新绑定可以在任何时间进行,绑定在下次fetch()后生效.
bool mysqli_stmt::close ( void ) bool mysqli_stmt_close ( mysqli_stmt $stmt )
关闭 prepare 语句
void mysqli_stmt::data_seek ( int $offset ) void mysqli_stmt_data_seek ( mysqli_stmt $stmt , int $offset )
定位
bool mysqli_stmt::execute ( void ) bool mysqli_stmt_execute ( mysqli_stmt $stmt )
执行一个prepare语句
bool mysqli_stmt::fetch ( void ) bool mysqli_stmt_fetch ( mysqli_stmt $stmt )
从 预备语句中查询并且根据bind_result()将获取的
void mysqli_stmt::free_result ( void ) void mysqli_stmt_free_result ( mysqli_stmt $stmt )
清空存储内存
mysqli_result mysqli_stmt::get_result ( void ) mysqli_result mysqli_stmt_get_result ( mysqli_stmt $stmt )
获取预先查询的结果集
object mysqli_stmt::get_warnings ( mysqli_stmt $stmt ) object mysqli_stmt_get_warnings ( mysqli_stmt $stmt )
获取 show warings 的结果
public bool mysqli_stmt::more_results ( void ) bool mysqli_stmt_more_results ( mysql_stmt $stmt )
检测多重查询中是否有更多结果
public bool mysqli_stmt::next_result ( void ) bool mysqli_stmt_next_result ( mysql_stmt $stmt )
从一个多查询中读取下一个结果
mixed mysqli_stmt::prepare ( string $query ) bool mysqli_stmt_prepare ( mysqli_stmt $stmt , string $query )
预定义一个执行的sql语句
bool mysqli_stmt::reset ( void ) bool mysqli_stmt_reset ( mysqli_stmt $stmt )
重置预定义的语句
mysqli_result mysqli_stmt::result_metadata ( void ) mysqli_result mysqli_stmt_result_metadata ( mysqli_stmt $stmt )
获取结果集的元数据
bool mysqli_stmt::send_long_data ( int $param_nr , string $data ) bool mysqli_stmt_send_long_data ( mysqli_stmt $stmt , int $param_nr , string $data )
允许多重发送服务器长数据
bool mysqli_stmt::store_result ( void ) bool mysqli_stmt_store_result ( mysqli_stmt $stmt )
在每个查询之后必须调用这个函数.如果你想在客户端缓存完整的结果集

MySQLi_Result — MySQLi_Result类

/* 属性 /
int $mysqli_result->current_field ; int mysqli_field_tell ( mysqli_result $result )
获取当前的字段的偏移量
int $mysqli_result->field_count; int mysqli_num_fields ( mysqli_result $result )
返回字段的数量
array $mysqli_result->lengths; array mysqli_fetch_lengths ( mysqli_result $result )
返回在结果集中当前行的所有列的长度
int $mysqli_result->num_rows; int mysqli_num_rows ( mysqli_result $result )
获取结果集中的行数量
/
方法 */
bool mysqli_result::data_seek ( int $offset ) bool mysqli_data_seek ( mysqli_result $result , int $offset )
调整结果指针到任意结果行
mixed mysqli_result::fetch_all ([ int $resulttype = MYSQLI_NUM ] ) mixed mysqli_fetch_all ( mysqli_result $result [, int $resulttype = MYSQLI_NUM ] )
[>=5.3.0] 以指定形式返回所有的结果行
mixed mysqli_result::fetch_array ([ int $resulttype = MYSQLI_BOTH ] ) mixed mysqli_fetch_array ( mysqli_result $result [, int $resulttype = MYSQLI_BOTH ] )
返回数组
array mysqli_result::fetch_assoc ( void ) array mysqli_fetch_assoc ( mysqli_result $result )
返回关联数组
object mysqli_result::fetch_field_direct ( int $fieldnr ) object mysqli_fetch_field_direct ( mysqli_result $result , int $fieldnr )
在指定结果集中获取字段的定义信息 $fieldnr field number
object mysqli_result::fetch_field ( void ) object mysqli_fetch_field ( mysqli_result $result )
以对象形式在结果集中返回下一个字段的定义
array mysqli_result::fetch_fields ( void ) array mysqli_fetch_fields ( mysqli_result $result )
获取所有字段的定义
object mysqli_result::fetch_object ([ string $class_name [, array $params ]] ) object mysqli_fetch_object ( mysqli_result $result [, string $class_name [, array $params ]] )
以对象方式返回当前行.
mixed mysqli_result::fetch_row ( void ) mixed mysqli_fetch_row ( mysqli_result $result )
以数据数组返回结果.
bool mysqli_result::field_seek ( int $fieldnr ) bool mysqli_field_seek ( mysqli_result $result , int $fieldnr )
设置字段查询器到指定的偏移量地方
void mysqli_result::free ( void ) void mysqli_result::close ( void ) void mysqli_result::free_result ( void ) void mysqli_free_result ( mysqli_result $result )
清空结果资源

MySQLi_Driver — MySQLi_Driver类

1
2
3
4
5
6
7
8
9
10
11
12
/* 属性 */
public readonly string$client_info ;
public readonly string$client_version ;
public readonly string$driver_version ;
public readonly string$embedded ;
public bool $reconnect ;
public int $report_mode ;
/* 方法 */
`void mysqli_driver::embedded_server_end ( void )`
停止嵌入服务器
`bool mysqli_driver::embedded_server_start ( bool $start , array $arguments , array $groups )`
初始并且启动嵌入服务器

MySQLi_Warning — MySQLi_Warning类

1
2
3
4
5
6
7
8
9
/* 属性 */
public $message ;
public $sqlstate ;
public $errno ;
/* 方法 */
`public__construct ( void )`
构造函数
`public void next ( void )`
下一个目的

mysqli_sql_exception — The mysqli_sql_exception class

1
2
3
/* 属性 */
protected $code ;
protected $sqlstate ;

别名和过时的Mysqli 函数

  • Mysqlnd — MySQL Native Driver
    • 简介 mysqlnd 是替代 mysql client library的一个工具.这个已经在PHP5.3中做为一个官方的工具,
    • Overview
    • Installation
    • 运行时配置
    • Persistent Connections
    • Statistics
    • Notes
    • MySQL Native Driver Plugin API
  • mysqlnd_ms — Mysqlnd replication and load balancing plugin
    • 简介
    • Quickstart and Examples
    • Concepts
    • 安装/配置
    • 预定义常量
    • Mysqlnd_ms 函数
    • Change History
  • mysqlnd_qc — Mysqlnd query result cache plugin
    • 简介
    • Quickstart and Examples
    • 安装/配置
    • 预定义常量
    • mysqlnd_qc 函数
    • Change History
  • mysqlnd_uh — Mysqlnd user handler plugin
    • 简介
    • Quickstart and Examples
    • 安装/配置
    • 预定义常量
    • MysqlndUhConnection — The MysqlndUhConnection class
    • MysqlndUhPreparedStatement — The MysqlndUhPreparedStatement class
    • Mysqlnd_uh 函数
    • Change History

原文地址 : 与具体数据库系统相关的扩展 - mysqli
本站是作者语雀文档的镜像站, 如对文章有任何疑问请移步语雀进行 提问

数据库抽象层 - PDO

数据库抽象层 - PDO

数据库抽象层 - PDO

PDO指定一个轻量级的持续的接口来在PHP中访问数据库, 每一个数据库驱动和PDO接口一致能够直接暴露数据库指定的特性.你不能使用pdo扩展操作任何数据库函数.你必须使用指定的数据库的PDO驱动来访问数据库服务器. PDO提供了一个书库访问抽象层, 这个你不用知道你在处理那种数据库.你可以使用相同的函数来查询和读取数据,PDO不提供数据库抽象访问. 这个不会重写sql或者执行不存在的特性.这样你需要使用完整的抽象层.

安装

这个自行安装 pdo.so pdo_mysql.so

配置

pdo.dsn.* string
定义 DSN alias

函数

PDO::

__construct ( string $dsn [, string $username [, string $password [, array $driver_options ]]] ) 建立PDO实例
bool beginTransaction ( void )
关闭自动提交, 当自动提交模式关闭, 改动不在commit()调用之后才会提交, 调用 pdo::rollBack()将恢复到未提交之前的模式
bool commit ( void )
提交一个事务, 然后数据库恢复到自动提交模式,直到调用PDO::beginTransaction()开始一个新事务.
mixed errorCode ( void )
取回sql状态.
array errorInfo ( void )
取回错误信息
int exec ( string $statement )
执行一个sql语句并返回影响的行数.
mixed getAttribute ( int $attribute )
返回数据库连接的属性 - $attribute PDO::ATTR_AUTOCOMMIT PDO::ATTR_CASE PDO::ATTR_CLIENT_VERSION PDO::ATTR_CONNECTION_STATUS PDO::ATTR_DRIVER_NAME PDO::ATTR_ERRMODE PDO::ATTR_ORACLE_NULLS PDO::ATTR_PERSISTENT PDO::ATTR_PREFETCH PDO::ATTR_SERVER_INFO PDO::ATTR_SERVER_VERSION PDO::ATTR_TIMEOUT
static array getAvailableDrivers ( void ) array pdo_drivers ( void )
返回可用的pdo驱动
bool inTransaction ( void )
[php5.3.3] 检测是否在事务中
string lastInsertId ([ string $name = NULL ] )
返回最后插入的ID
PDOStatement prepare ( string $statement [, array $driver_options = array() ] )
准备查询语句
PDOStatement query ( string $statement ) PDOStatement PDO::query ( string $statement , int $PDO::FETCH_COLUMN , int $colno ) PDOStatement PDO::query ( string $statement , int $PDO::FETCH_CLASS , string $classname , array $ctorargs ) PDOStatement PDO::query ( string $statement , int $PDO::FETCH_INTO , object $object )
查询
string quote ( string $string [, int $parameter_type = PDO::PARAM_STR ] )
转义
bool rollBack ( void )
回滚
bool setAttribute ( int $attribute , mixed $value )
设置属性

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
PDO::ATTR_CASE
PDO::CASE_LOWER
PDO::CASE_NATURAL
PDO::CASE_UPPER
PDO::ATTR_ERRMODE
PDO::ERRMODE_SILENT
PDO::ERRMODE_WARNING
PDO::ERRMODE_EXCEPTION
PDO::ATTR_ORACLE_NULLS (oracle 不可用)
PDO::NULL_NATURAL
PDO::NULL_EMPTY_STRING
PDO::NULL_TO_STRING
PDO::ATTR_STRINGIFY_FETCHES
PDO::ATTR_STATEMENT_CLASS
PDO::ATTR_TIMEOUT
PDO::ATTR_AUTOCOMMIT
PDO::MYSQL_ATTR_USE_BUFFERED_QUERY
PDO::ATTR_DEFAULT_FETCH_MODE

PDOStatement::

1
提供了一个准备的statement, 当这个执行的时候,返回一个关联数组

bool bindColumn ( mixed $column , mixed &$param [, int $type [, int $maxlen [, mixed $driverdata ]]] )
绑定一个列到PHP变量, 使用这个变量替代sql中的列
bool bindParam ( mixed $parameter , mixed &$variable [, int $data_type = PDO::PARAM_STR [, int $length [, mixed $driver_options ]]] )
绑定变量到一个prepared参数
bool bindValue ( mixed $parameter , mixed $value [, int $data_type = PDO::PARAM_STR ] )
绑定值
bool closeCursor ( void )
关闭指针
int columnCount ( void )
返回列的数量
bool debugDumpParams ( void )
输出准备的命令
string errorCode ( void )
array errorInfo ( void )
bool execute ([ array $input_parameters ] )
执行
mixed fetch ([ int $fetch_style [, int $cursor_orientation = PDO::FETCH_ORI_NEXT [, int $cursor_offset = 0 ]]] )
查找下一行数据
array fetchAll ([ int $fetch_style [, mixed $fetch_argument [, array $ctor_args = array() ]]] )
取回所有
string fetchColumn ([ int $column_number = 0 ] )
取回单列信息
mixed fetchObject ([ string $class_name = "stdClass" [, array $ctor_args ]] )
取回对象信息
mixed getAttribute ( int $attribute )
获取语句的属性
array getColumnMeta ( int $column )
获取列的信息
bool nextRowset ( void )
取回下一列
int rowCount ( void )
行数
bool setAttribute ( int $attribute , mixed $value )
设置属性
bool setFetchMode ( int $mode )
设置取回模式

PDO Drivers

CUBRID (PDO) MS SQL Server (PDO) Firebird/Interbase (PDO) IBM (PDO) Informix (PDO) MySQL (PDO) MS SQL Server (PDO) Oracle (PDO) ODBC and DB2 (PDO) PostgreSQL (PDO) SQLite (PDO) 4D (PDO)


原文地址 : 数据库抽象层 - PDO
本站是作者语雀文档的镜像站, 如对文章有任何疑问请移步语雀进行 提问