PDO

PDO是PHP Data Object(PHP数据对象)的简称。是一个“数据库访问抽象层”,作用是统一各种数据库的访问接口。在PHP5.1版本及以后版本中可以使用。

1、PDO连接数据库

在PDO中,要建立与数据库的连接需要实例化PDO的构造函数。

new PDO($dsn, $user, $pwd);

//$dsn:Data Source Name。数据源名称,提供连接数据库需要的信息。包括3部分,即PDO驱动名称(如mysql、sqlite或者pgsql)、冒号和驱动特定的语法。每种数据库都有其特定的驱动语法。

MySQL的$dsn格式为:"mysql:host=主机名称;dbname=数据库名称"

//$user:使用的数据库用户名;$pwd:使用的数据库密码

2、PDO中执行SQL语句

(1) exec(): 返回执行后受影响的行数。

int PDO::exec(string statement)   //statement是要执行的SQL语句

(2)query(): 用于返回执行查询后的结果集

PDOStatement PDO::query(string statement)

(3)预处理语句——prepare()和execute()

预处理语句包括prepare()和execute()两个方法。首先,通过prepare()方法做查询的准备工作,然后,通过execute()方法执行查询。并且还可以通过bindParam()方法来绑定参数提供给execute()方法。

PDOStatement PDO::prepare(string statement [, array driver_options])

bool PDOStatement::execute( [array input_parameters] )

**预处理语句:是要运行的SQL的一种编译过的模板,有两大好处:查询只需解析(或准备)一次,但是可以用相同或不同的参数执行多次;提供给预处理语句的参数不需要用引号括起来,预处理语句的两个方法会对提供给它们的参数进行自动转义。

PDO中执行SQL语句方法的选择:

(1)如果只执行一次查询,PDO->query是较好的选择。然而使用时也要相当小心,如果没有在结果集中获取到所有数据,那么下次调用pdo->query时可能会失败。

(2)如果多次执行SQL语句,最理想的方法是prepare和execute.

3、PDO中获取结果集

(1) fetch(): 获取结果集中的下一行。

mixed PDOStatement::fetch([int fetch_style [, int cursor_orientation [, int cursor_offset]]])

//fetch_style:控制结果集的返回方式,

_____________________________________________________________________________________

PDO::FETCH_ASSOC     |  关联数组形式

PDO::FETCH_NUM         |   数字索引数组形式

PDO::FETCH_BOTH       |   两者数组形式都有,这是默认的

PDO::FETCH_OBJ          |   按对象的形式,类似于以前的mysql_fetch_object()

PDO::FETCH_BOUND    |   以布尔值的形式返回结果,同时将获取的列值赋给bindParam()方法中指定的变量

PDO::FETCH_LAZY        |   以关联数组、数字索引数组和对象3中形式返回结果

————————————————————————————————————————————————

//cursor_orientation: PDOStatement对象的一个滚动游标,可用于获取指定的一行。

//cursor_offset: 游标的偏移量。

(2)fetchAll(): 获取结果集中的所有行。其返回值是一个包含结果集中所有数据的二维数组

array PDOStatement::fetchAll( [int fetch_style [, int column_index]] )

//column_index: 字段的索引

(3)fetchColumn(): 获取结果集中下一行指定列的值。

string PDOStatement::fetchColumn([ int column_number])

//可选参数column_number设置行中列的索引值,该值从0开始。如果省略该参数则将从第一列开始取值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值