PDO是一个"
数据库访问抽象层",作用是统一各种数据库的访问接口,与mysql和mysqli的函数库相比,PDO让跨数据库的使用更具有亲和力:与ADODB和MDB2相比,PDO更高效.
目前而言,实现"数据库抽象层"任重而道远,使用PDO这样的"数据库访问抽象层"是一个不错的选择.
一.PDO基本函数库
PDO->beginTransaction() 标明回滚起始点
PDO->commit 标明回滚结束点,并执行
SQL PDO->__construct 建立一个PDO链接数据库的实例
PDO->errorCode 获取错误码
PDO->errorInfo 获取错误的信息
PDO->exec 处理一条SQL语句,并返回所影响的条目数
PDO->getAttribute 获取一个“数据库连接对象”的属性
PDO->getAvailableDrivers 获取有效的PDO驱动器名称
PDO->lastInsertId 获取写入的最后一条数据的主键值
PDO->prepare 生成一个“查询对象”
PDO->query 处理一条SQL语句,并返回一个“PDOStatement”
PDO->quote 为某个SQL中的字符串添加引号
PDO->rollBack 执行回滚
PDO->setAttribute 为一个“数据库连接对象”设定属性
二.PDO对mysql数据库相关操作
修改php.ini配置文件
1、找到与pdo相关的所有扩展
2、去掉pdo扩展前所有分号
3、重启apache服务
查询操作,select查询语句
一种方式:
$url = "mysql:host=主机地址;dbname=库名"; //连接数据库的参数 $user = "用户名"; $pwd = "密码"; $conn = new PDO($url,$user,$pwd); //连接数据库 $conn->query("set names utf8"); //设置编码 $st = $conn->query("select查询语句"); //执行select查询语句,返回数据库操纵对象statement $rs = $st->fetchAll(); //获得结果集,结果集就是一个二维数组 //显示所有记录 foreach($rs as $value) { echo $value["字段名|列序号"]; } //关闭数据库 unset($rs); unset($st); unset($conn); |
二种方式:
$url = "mysql:host=主机地址;dbname=库名"; $user = "用户名"; $pwd = "密码"; $conn = new PDO($url,$user,$pwd); $conn->query("set names utf8"); $st = $conn->prepare("select语句");//指定 $st->execute();//执行 $rs = $st->fetchAll(); foreach($rs as $value) { echo $value["字段名|列序号"]; } unset($rs); unset($st); unset($conn); |
mysql增、删、改操作,insert|update|delete语句
一种方式:
$url = "mysql:host=主机地址;dbname=库名"; $user = "用户名"; $pwd = "密码"; $conn = new PDO($url,$user,$pwd); $conn->query("set names utf8"); $row = $conn->exec("insert|update|delete语句"); unset($conn); |
二种方式:
$url = "mysql:host=主机地址;dbname=库名"; $user = "用户名"; $pwd = "密码"; $conn = new PDO($url,$user,$pwd); $conn->query("set names utf8"); $st = $conn->prepare("insert|update|delete语句"); //指定要执行的sql语句, 指定where Id=:a ,参数名:a $st->bindParam(":名",$变量); //bind绑定 paramter参数:为sql语句中的:a 绑定变量$id $result = $st->execute(); //执行prepare所指定的sql语句 unset($st); unset($conn); |