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); } //带有预处理功能 ?>