码迷,mamicode.com
首页 > 其他好文 > 详细

PDO

时间:2016-06-21 20:20:09      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:

PDO 数据访问抽象层
dsn 数据源
特点 1.带有事务功能
$dsn="mysql:host=localhost;dbname=zxpm";
//造pdo对象
$pdo=new PDO($dsn,"root","");
//设置为异常模式
$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION );

try
{
//启动事务
$pdo->beginTransaction();
//写sql语句
$sql="insert into nation values(‘n005‘,‘藏族‘)";
//执行sql语句
$a=$pdo->exec($sql);
$pdo->commit();
}
catch(PDOException $e)
{
//echo $e->getMessage();
//回滚事务
$pdo->rollBack();
}

启动事务和回滚事务之间的语句如果有错误就回滚,相当于不执行

2.可以防止sql注入攻击
$dsn="mysql:host=localhost;dbname=zxpm";
$pdo=new PDO($dsn,"root","");
$sql="insert into nation values(?,?)";//?代表站位符
//将一条sql语句放到服务器等待执行
$stm=$pdo->prepare($sql);
//绑定参数,给站位符
/*$stm->bindParam(1,$code);
$stm->bindParam(2,$name);
//给变量赋值
$code="n006";
$name="傣族";*/
$attr=array("n007","土家");//简单方法
//执行预处理语句,执行成功,返回true,失败返回false
if($stm->execute($attr))
{
//var_dump($stm->fetch());
//var_dump($stm->fetchAll(PDO::FETCH_ASSOC));
}

另外一种方法

$dsn="mysql:host=localhost;dbname=zxpm";
$pdo=new PDO($dsn,"root","");
$sql="insert into nation values(:code,:name)";//:代表站位符
//将一条sql语句放到服务器等待执行
$stm=$pdo->prepare($sql);
//绑定参数,给站位符
/*$stm->bindParam(1,$code);
$stm->bindParam(2,$name);
//给变量赋值
$code="n006";
$name="傣族";*/
$attr=array("code"=>"n008","name"=>"兽族");//关联数组
//执行预处理语句,执行成功,返回true,失败返回false
if($stm->execute($attr))
{
//var_dump($stm->fetch());
//var_dump($stm->fetchAll(PDO::FETCH_ASSOC));
}

PDO

标签:

原文地址:http://www.cnblogs.com/hamilton/p/5604682.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!