PDO数据访问抽象层基本

一、PDO是数据访问抽象层,它不像mysqli那样只能访问mysql数据库,它还可以访问 其他的数据库。

1、造PDO对象,与mysql基本相同:

造PDO对象
$dsn="mysql:dbname=text_0306;host=localhost";//造数据源
$pdo=new PDO($dsn,"root","123");

2、写sql语句:

$sql="select *from users";
$sql1="update users set name='张三' where code=1";

3、执行sql语句,返回PDOSTATEMENT对象

执行sql语句,返回PDOSTATEMENT对象
$stm=$pdo->query($sql);//执行查询语句
$stm=$pdo->exec($sql1);//执行增删改语句

4、读取数据:

$arr=$stm->fetch(PDO::FETCH_ASSOC);//关联数组,每次读一条

$arr=$stm->fetchall(PDO::FETCH_NUM);//索引数组,返回二维数组

PDO::FETCH_BOTH:返回关联和索引数组
 

二、事务功能(实现几个sql语句的一起操作,要操作成功都成功,要失败都失败)

//事务功能
$dsn = "mysql:dbname=text_0306;host=localhost";
$pdo = new PDO($dsn,"root","123");

//把PDO的错误模式设置为异常模式
$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);

//捕获异常
try
{
    //开启事务功能
    $pdo->beginTransaction();
    
    $sql1 = "insert into minzu values('n008','是是')"; 
    $sql2 = "insert into minzu values('n009','是是')"; 
    $sql3 = "insert into minzu values('n010','是是')"; 
    
    $pdo->exec($sql1);
    $pdo->exec($sql2);
    $pdo->exec($sql3);
    
    //提交事务
    $pdo->commit();
}
catch(Exception $e)
{
    //捕获异常并解决异常
    //回滚
    $pdo->rollBack();
    //var_dump($e);
}

//带有预处理功能

?>

 

posted @ 2017-05-06 09:11  梦深深处  阅读(205)  评论(0编辑  收藏  举报