目录
- PDO概述
- 安装PDO
- PDO连接数据库
- PDO中执行SQL语句
- 从PDO中获得结果集
PDO概述
PDO是PHP数据对象的简称,PHP数据对象(PDO)扩展为PHP访问数据库定义了一个轻量级的一致接口。
PDO 提供了一个数据访问抽象层,这意味着,不管使用哪种数据库,都可以用相同的函数(方法)来查询和获取数据。有了PDO,就不必再使用mysql_*函数,oci_*函数,或者mssql_*函数,也不必再为他们封装数据库操作类,只需要使用PDO接口中的方法就可以对数据库进行操作。在选择不同的数据库时,只需修改PDO中的DSN(数据源名称)。
我们需要知道,使用了PDO后,只需要使用PDO接口中的方法就可以对数据库进行操作。在更换[toc]不同的数据库时,比如一个网站原来使用的mysql数据库,现在要改为Oracle数据库,只需修改PDO中的DSN,使得兼容性和可移植性大大提升。
安装PDO
PDO是与PHP5.1一起发行的,默认包含在PHP5.1中,PDO需要PHP5核心面向对象特性,所以在PHP5.1之前无法使用PDO。
PDO的安装具体可以看:菜鸟教程
一般在PHP集成环境,如phpstudy软件中,都默认安装了PDO,无需再安装。
PDO连接数据库
PDO构造函数:
在PDO中,要建立与数据库的连接需要实例化PDO的构造函数。
<?php
$host = '127.0.0.1'; //主机名称
$db_username = 'root'; //数据库用户名
$db_pwd = 'password'; //数据库密码
$db_name = 'dbname'; //数据库名
$dbms = 'mysql'; //数据库类型,这里是mysql
$dsn = "$dbms:host=$host;dbname=$db_name";
//开始连接数据库
try{ //捕获异常
$conn = new PDO($dsn, $db_username, $db_pwd); //实例化对象
}
catch(Exception $e){
die("连接失败!");
}
?>
PDO中执行SQL语句
- exec方法
int PDO::exec(string statement)
其中statement为要执行的SQL语句。该方法返回查询时受到影响的行数,通常用于插入、删除、更新语句中。 - query方法
用于返回执行查询结果后的影响集。
PDOStatemnet PDO::query(string statemnet)
- 预处理语句——prepare和execute
预处理语句的好处之一就是可以在一定程度上防止SQL注入。
下面是一个例子:
$conn = new PDO($dsn, $db_username, $db_pwd);
echo '数据库连接成功!';
//数据库查询语句
$query_select = "select id from user where username='$username' and password='$password'";
$check_query = $conn->prepare($query_select); //预处理查询语句
$check_query->execute(); //执行查询语句
$arr = $check_query->fetch(PDO::FETCH_ASSOC);
从PDO中获得结果集
-
fetch方法
$arr = $check_query->fetch(PDO::FETCH_ASSOC);
其中fetch方法里的模式可以选则:
PDO::FETCH_ASSOC 关联数组。
PDO::FETCH_NUM 数字索引数组。
PDO::FETCH_BOTH 默认,两者都有。 -
fetchAll方法 获取结果集中所有行。
-
fetchColumn方法 获取结果集中下一行指定列的值。
转载至本人小网站:我的博客
更多推荐
PDO数据库抽象层简介
发布评论