当前位置:首页 > 日记 > 正文

PHPPDO库函数详解

PHPPDO库函数详解
目前,它是一个长期的方式实现数据库抽象层,它是一个很好的选择访问抽象层使用数据库如PDO。

PDO包含三个预定义的类

PDO包含三个预定义的类,这是PDO,PDOStatement,和PDOException,分别。

1。PDO

PDO ->开始()指示回滚的起点
PDO ->提交()-马克回滚的终点和执行SQL
PDO -> __construct()-建立一个PDO连接数据库实例
PDO -> errorcode()-错误代码
PDO -> ErrorInfo()得到了错误的信息
(PDO ->执行),一个SQL语句,并返回的条目的数量
PDO -> getAttribute()获取一个数据库连接对象的属性
PDO -> getavailabledrivers()-获取有效的PDO驱动名称
PDO -> lastinsertid()-被写上数据的主键值
PDO ->准备()生成一个查询对象
PDO ->查询()处理SQL语句并返回一个PDOStatement
PDO ->报价()加在一定的SQL字符串的引号
PDO ->回滚()执行回滚
PDO -> setAttribute()设置一个数据库连接对象的属性

二,PDOStatement

bindcolumn PDOStatement ->()绑定列一个PHP变量
bindparam PDOStatement ->()-绑定参数来指定变量名
PDOStatement -> bindValue()-绑定一个值赋给一个参数
closecursor PDOStatement ->()-关闭游标,使语句再次。
PDOStatement -> ColumnCount()返回的结果集的列数
PDOStatement -> errorcode()取在声明的最后操作关联的SQLSTATE
PDOStatement -> ErrorInfo()取扩展错误信息的最后操作有关
PDOStatement ->执行()执行一个事先准备好的声明
PDOStatement ->取()-获取下一行的结果集
fetchall PDOStatement ->()返回一个数组包含所有结果集的行
fetchcolumn PDOStatement ->()返回的结果下一行一列
PDOStatement -> fetchObject()-读取下一行并将它作为一个对象。
PDOStatement -> getAttribute()检索属性声明
getcolumnmeta PDOStatement ->()返回元数据为列的结果集
nextrowset PDOStatement ->()的进展,在多行语句处理下一行
PDOStatement ->行数()返回的最后一个SQL语句影响的行数
PDOStatement -> setAttribute()-设置属性声明
setfetchmode PDOStatement ->()-设置默认取本声明的方式

PDO是一个数据库抽象层,它是用来统一各种数据库访问接口。用mysql mysqli函数库相比,PDO使得跨数据库更亲和的使用。使用ADODB和MDB2相比,PDO是更有效的。目前,它是一个长期的方式实现数据库抽象层,它是一个很好的选择访问抽象层使用数据库如PDO。

PDO包含三个预定义的类

PDO包含三个预定义的类,这是PDO,PDOStatement,和PDOException,分别。

1。PDO

PDO ->开始()指示回滚的起点
PDO ->提交()-马克回滚的终点和执行SQL
PDO ->回滚()执行回滚
PDO -> __construct()-建立一个PDO连接数据库实例
PDO -> errorcode()-错误代码
PDO -> ErrorInfo()得到了错误的信息
(PDO ->执行),一个SQL语句,并返回的条目的数量
PDO -> getAttribute()获取一个数据库连接对象的属性
PDO -> getavailabledrivers()-获取有效的PDO驱动名称
PDO -> lastinsertid()-被写上数据的主键值
PDO ->准备()生成一个查询对象
PDO ->查询()处理SQL语句并返回一个PDOStatement
PDO ->报价()加在一定的SQL字符串的引号
PDO -> setAttribute()设置一个数据库连接对象的属性

详细解释1)在PDO的数据库连接
美元:北京DSN =MySQL主机= 127.0.0.1企业;
$用户root;
密码=123456;
{试
新= PDO(胸径美元美元美元美元的DSN,用户,密码,阵列(PDO::attr_persistent = >真));
$胸径->查询(让名字UTF8;');
foreach($胸径->查询('select * tpm_juese)达行){
print_r(合排);
}
赶上(PDOException,e){ }
回声连接失败。$ E -> GetMessage();
}

许多Web应用程序将被优化,因为使用了与数据库的持久连接,
相反,当另一个脚本通过相同的身份请求连接时,它将被缓存和重用。
持久缓存可以帮助您在每次与数据库交谈时避免部署新的连接资源消耗,并使Web应用程序更快。
在上面的例子中,数组(PDO::attr_persistent = >真)是连接类型设置为一个持久连接。

2详细解释)交易在PDO
三种方法,PDO ->开始()(),PDO ->提交(),和PDO ->回滚()一起使用时,支持回滚能力。PDO ->开始()方法确定起点,PDO ->提交()方法表示的回滚点,并执行SQL,PDO ->回滚()执行回滚。
< PHP
{试
$胸径=新PDO('mysql:主机为localhost;北京测试','根',');
$胸径->查询(让名字UTF8;');
$胸径-> setAttribute(PDO::::attr_errmode,PDO errmode_exception);

$胸径->开始();
$胸径-> exec(插入`测试`。`表`(`名字`,`年龄`)值('mick ',22););
$胸径-> exec(插入`测试`。`表`(`名字`,`年龄`)值('lily ',29););
$胸径-> exec(插入`测试`。`表`(`名字`,`年龄`)值('susan ',21););
$ $ >提交();

catch(异常E){ }
$ $ >回滚();
回声失败:。$ E -> GetMessage();
}
>
现在你已经通过PDO连接建立的,你必须弄清楚如何管理事务部署PDO查询前。如果你从未遇到过的交易,(现在的介绍:)他们提供4个主要特性:原子性、一致性、独立性和持久性(Atomicity,一致性,隔离性和持久性,酸)的观点通俗点,所有的工作事务提交时,即使是执行阶段,也是保证数据库应用中的安全性,不可与其他干扰。事务性的工作也可以很容易地自动取消了在请求。

事务的典型使用是保存大部分的更改并立即执行。这样一来,更新的效率就会有一个全面的提高。换句话说,事务可以使您的脚本更快更健壮(您仍然需要正确地使用它们来实现这一优势)。

不幸的是,并不是每一个数据库支持事务,那么PDO需要运行在一个被认为是自动提交模式建立连接时,自动提交模式意味着每个查询你执行有自己的隐式事务处理,无论数据库支持事务,或因为数据库不支持,如果没有交易。你需要一个交易,你必须创建一个使用PDO ->开始()方法。如果底层驱动程序不支持事务处理,一个PDOException,就会被扔出去,这是你的异常处理设置无关,因为这是一个严重的错误,在一件事上,你可以结束它PDO ->提交或回滚(PDO)->(),根据关于代码是否在事务中成功。

当脚本结束时,或者当一个连接被关闭,如果你有一个未处理的事务,PDO将自动回滚。这是剧本的意外终止的安全解决方案。如果没有显式提交事务,则会假定存在一些错误,因此可以回滚数据安全性。

二,PDOStatement

bindcolumn PDOStatement ->()绑定列一个PHP变量
bindparam PDOStatement ->()-绑定参数来指定变量名
PDOStatement -> bindValue()-绑定一个值赋给一个参数
closecursor PDOStatement ->()-关闭游标,使语句再次。
PDOStatement -> ColumnCount()返回的结果集的列数
PDOStatement -> errorcode()取在声明的最后操作关联的SQLSTATE
PDOStatement -> ErrorInfo()取扩展错误信息的最后操作有关
PDOStatement ->执行()执行一个事先准备好的声明
PDOStatement ->取()-获取下一行的结果集
PDOStatement->fetchAll () - Returns an array containing all of the result set rows
fetchcolumn PDOStatement ->()返回的结果下一行一列
PDOStatement -> fetchObject()-读取下一行并将它作为一个对象。
PDOStatement -> getAttribute()检索属性声明
getcolumnmeta PDOStatement ->()返回元数据为列的结果集
nextrowset PDOStatement ->()的进展,在多行语句处理下一行
PDOStatement ->行数()返回的最后一个SQL语句影响的行数
PDOStatement -> setAttribute()-设置属性声明
setfetchmode PDOStatement ->()-设置默认取本声明的方式

三、PDOException

PDO提供了3种不同的错误处理策略。
1。PDO::errmode_silent
这是默认的mode.pdo将在报表和数据库对象设置一个简单的错误代码,您可以使用PDO -> errorcode()和PDO -> ErrorInfo()来检查错误的方法;如果错误是由调用声明的对象,你可以使用PDOStatement ->后该对象(PDOStatement -> ErrorInfo)或()来获得错误消息的方法。如果错误是由电话引起的数据库对象,你应该利用这两种方法对数据库对象。
2。PDO::errmode_warning
作为一个除了错误代码,PDO将发出一个传统e_warning信息。这个设置是用于调试和调试,如果你只是想看看发生了什么,不想中断的过程。
三.PDO::errmode_exception
至于设置错误代码附件,PDO抛出一个PDOException异常并设置它的属性以反映错误代码和错误信息。这样的设置也在调试时很有用,因为它能有效地扩大在炸毁的脚本错误点,并指出错误的区域在您的代码很快。(记住:如果异常导致脚本被打断,事务处理是自动回滚。)
异常模式也很有用,因为结构可以使用错误处理结构,比以前使用传统PHP风格更清晰,比使用嵌套错误代码和安静模式使用更少,还可以返回一个值,更清楚地检查每个数据库访问。
有关PHP中异常的更多信息,请参见异常部分
PDO使用一种基于SQL-92 SQLSTATE错误代码字符串;特定的PDO驱动应该对应自己的代码到合适的SQLSTATE代码。PDO -> errorcode()方法返回只有一个单一的SQLSTATE代码。如果你需要一个错误更多的相关信息,PDO还提供了一个PDO -> ErrorInfo()方法,它可以返回SQLSTATE代码,一个特定的数据库驱动的错误代码和数据库驱动的错误描述字符串。

< PHP
修改默认的错误显示级别
$胸径-> setAttribute(PDO::::attr_errmode,PDO errmode_warning);
>

属性列表:

PDO::param_bool
表示布尔类型的
PDO::param_null
表示SQL中的null类型。
PDO::param_int
表示SQL中的整数类型。
PDO::param_str
代表一个sql字符串,在SQL VARCHAR类型
PDO::param_lob
表示SQL中的大对象类型
PDO::param_stmt
在一个SQL结果集类型不支持
PDO::param_input_output
指定该参数是一个输入参数的存储过程。
PDO::fetch_lazy
返回每行的结果作为对象
PDO::fetch_assoc
只返回键值为下标的查询结果集,相同的数据只返回一个。
PDO::fetch_named
只返回以键值作为下标的查询结果集,并以数组的形式返回数据的同一名称。
PDO::fetch_num
只返回查询的结果集,该编号为下标
PDO::fetch_both
以键值和数字作为下标返回查询的结果集。
PDO::fetch_obj
以对象的形式返回结果集
PDO::fetch_bound
返回值的约束bindparam PDOStatement::()和()bindcolumn PDOStatement::作为一个变量名的值
PDO::fetch_column
表示只返回结果集的列。
PDO::fetch_class
指示结果集以类的形式返回。
PDO::fetch_into
指示将数据合并到现有的类中返回。
PDO::fetch_func
PDO::fetch_group
PDO::fetch_unique
PDO::fetch_key_pair
以第一个键表和下表的形式返回结果集。
PDO::fetch_classtype
PDO::fetch_serialize
表示将数据合并为现有类和序列化返回。
PDO::fetch_props_late
自PHP 5.2.0
PDO::attr_autocommit
当设置为true,PDO将自动尝试停止接受委托并开始执行
PDO::attr_prefetch
提前设置应用程序的数据大小并不是所有的数据库支持。
PDO::attr_timeout
设置连接数据库超时的值
PDO::attr_errmode
设置错误处理模式
PDO::attr_server_version
只读表示服务器的PDO连接侧数据库版本特性
PDO::attr_client_version
只读代表客户端的PDO驱动PDO连接版本特性
PDO::attr_server_info
只读表示的PDO连接服务器的元信息的属性
PDO::attr_connection_status
PDO::attr_case
PDO的内容::case_ *操作列的形式
PDO::attr_cursor_name
获取或设置指针的名称。
PDO::attr_cursor
设置指针的类型,PDO现在支持PDO::::cursor_fwdonly cursor_fwdonly和PDO
PDO::attr_driver_name
返回使用的PDO驱动程序名称
PDO::attr_oracle_nulls
将返回的空字符串转换为SQL的null。
PDO::attr_persistent
获取现有连接
PDO::attr_statement_class
PDO::attr_fetch_catalog_names
在返回结果集中,使用自定义目录名而不是字段名。
PDO::attr_fetch_table_names
在返回结果集中,使用自定义表的名称而不是字段名。
PDO::attr_stringify_fetches
PDO::attr_max_column_len
PDO::attr_default_fetch_mode
自PHP 5.2.0
PDO::attr_emulate_prepares
自PHP 5.1.3。
PDO::errmode_silent
错误发生时没有报告错误信息,它是默认值。
PDO::errmode_warning
从一个PHP e_warning时出现错误消息
PDO::errmode_exception
一个PDOException,抛出时发生错误。
PDO::case_natural
应答列的默认显示格式
PDO::case_lower
强制列的名称。
PDO::case_upper
强制列的名称。
PDO::null_natural
PDO::null_empty_string
PDO::null_to_string
PDO::fetch_ori_next
只有在有指针函数时,结果集中的下一行数据才有效。
PDO::fetch_ori_prior
只有在有指针函数时,结果集中的最后一行数据才有效。
PDO::fetch_ori_first
只有在有指针函数时,结果集中的第一行数据才有效。
PDO::fetch_ori_last
只有在有指针函数时,结果集中的最后一行数据才有效。
PDO::fetch_ori_abs
只有在有指针函数时,结果集中的数据行才有效。
PDO::fetch_ori_rel
只有在有指针函数的情况下,才能在当前行有效时集中于一行的数据。
PDO::cursor_fwdonly
创建只能向后操作的指针操作对象
PDO::cursor_scroll
创建一个指针操作对象,通过PDO的内容::fetch_ori_ *控制结果集
PDO::err_none(字符串)
在没有错误时设置错误消息
PDO::param_evt_alloc
配置事件
PDO::param_evt_free
释放事件
PDO::param_evt_exec_pre
在准备好的语句执行前触发的事件。
PDO::param_evt_exec_post
在准备好的语句执行之后触发的事件。
PDO::param_evt_fetch_pre
事件触发从ResultSet取结果之前。
PDO::param_evt_fetch_post
事件触发从ResultSet结果随后取。
PDO::param_evt_normalize
在绑定参数注册期间触发的事件,允许驱动程序正常化

相关文章

陈一丹为名誉教授聘请谈腾讯法的方

陈一丹为名誉教授聘请谈腾讯法的方

腾讯,名誉,教授,方式,电脑软件,作为中国互联网行业的主导产业,腾讯经历了自成立以来,很多大型的诉讼案件,引起了业内人士的关注腾讯的法律团队。从打击盗号黑色产业链,起诉彩虹显IP的情况下,再到腾讯诉360隐私不正当竞争案扣扣保镖,不正当竞争案…

Fedora17终端的桌面快捷键和桌面快

Fedora17终端的桌面快捷键和桌面快

桌面快捷方式,桌面,设置,快捷键,终端,点评:本文将介绍Fedora 17终端的桌面快捷键和桌面快捷方式的设置技巧,你需要的朋友可以参考一下。 Fedora 17终端的快捷键 点击打开 活动>应用程序系统设置> > >键盘快捷键>自定义快捷键 点击Rdquo butt…

全力PHICOMMFIXO集中在4G时代的布

全力PHICOMMFIXO集中在4G时代的布

布局,时代,4G,电脑软件,PHICOMMFIXO,与谷歌和微软先后兼并摩托罗拉和诺基亚,拉开了手机小屏幕终端的互联网寡头已经打开。在中国,百度和TCL爱奇艺电视开始共同推出的最大屏幕终端的战斗。在资本市场上,已经推出了音乐电视行业暴利结束价格战,也…

Vista全自动安装板施工策略

Vista全自动安装板施工策略

安装,全自动,策略,电脑软件,Vista,(二)Vista自动安装响应文件的构造 1。配置的谈话(国际核心) 因为Windows安装措施是通过Windows PE措施导入的,所以配置语言也分为两个部分。下一步,我们将首先介绍Windows PE聚焦PE配置,这是microsoft-windows-…

360浏览器提示这个链接似乎被破坏

360浏览器提示这个链接似乎被破坏

提示,浏览器,链接,解决方案,破坏了,问题: 经常使用360个浏览器是很方便的,感觉到它的快速拖动关键字搜索。最近,我不知道该怎么做。一旦你拖动关键字,它就会出错,并提示这个链接似乎被破坏了,请分析它。 回答: 360、浏览器的超级拖拽功能有限的…

Linux下最常用shell命令的引入(图形

Linux下最常用shell命令的引入(图形

图形,命令,最常用,电脑软件,Linux,评论:本文介绍了Linux下最常用的shell命令,即图文结合。 有些人仍然有这种愚蠢的想法,他们认为Linux的使用必须使用Linux shell命令。废话 uff01you不能理解任何Linux命令,如PS,grep,LS,等等,但你仍然可以使用很…

从五个方面分析linux防火墙框架

从五个方面分析linux防火墙框架

框架,防火墙,五个方面,电脑软件,linux,点评:在Linux的Netfilter提供了一个抽象的、通用的架构,和一次实施框架中定义的功能是数据包的过滤系统 在Linux系统Netfilter提供了实现该框架的子功能抽象和一般框架是包过滤系统的定义、框架包括以…

iTunes提示装置误差0xe8000012(溶液

iTunes提示装置误差0xe8000012(溶液

装置,提示,误差,无法连接,溶液,问题: 我想升级我的iPad mini的新系统ios6.1。连接到iTunes后,我暗示我不能连接装置,误差0xe8000012,然后重新安装iTunes。为什么 答案uff1a iPad迷你满足上述情况。如果你的电脑系统是XP,建议删除锁定文件夹下C…

设置方法和win7虚拟内存的关注

设置方法和win7虚拟内存的关注

方法,虚拟内存,设置,电脑软件,点评:内存是计算机的重要组成部分,所有的程序都需要经过内存,虚拟内存被称为技术,部分硬盘当内存使用,下面介绍win7如何设置虚拟内存 众所周知,内存是计算机必不可少的一部分,所有的程序都需要经过内存,如果我们同时做…

PHP内核介绍与扩展开发指南-基础知

PHP内核介绍与扩展开发指南-基础知

开发指南,内核,扩展,基础知识,电脑软件,1。基本知识 本章简要介绍了Zend引擎内部的一些机制,以扩展密切相关,帮助我们写出更高效的PHP代码。 1.1 PHP变量存储 1.1.1 zval结构 Zend使用zval结构存储PHP变量的值,如下所示: 复制代码代码如下所示: …

是arupld32.exe过程有毒吗是arupld

是arupld32.exe过程有毒吗是arupld

过程,电脑软件,exe,点评:arupld32.exe会监视你的浏览行为。这个过程会在后台的工作来回报你的浏览习惯,为经营宗旨 进程文件:arupld32或arupld32.exe 进程名称:arupld32 过程类别:安全风险的过程 英文描述: arupld32.exe是过程监控你的上网习惯…

USB3.0驱动win7系统(AMDA68/A75芯片

USB3.0驱动win7系统(AMDA68/A75芯片

芯片组,系统,电脑软件,计算机处理器是AMD A68,主板是A75芯片组,如果用户使用Win7系统,USB3.0驱动没有安装好。USB3.0驱动与这个驱动程序共享,适用于Windows 7 32bit 位或64位。 USB3.0驱动百度的SkyDrive,点击这里下载。…