[php学习笔记]PDO类操作数据库

来源:互联网 发布:java -d path 编辑:程序博客网 时间:2024/04/27 23:29
PDO
PDO是别人写的“数据库操作工具类”!
使用它,类似这样:
$obj = new PDO(连接信息);
$sql = "select * from ....";
$result  = $pdo->query($sql);//返回一个pdo结果集
$sql="delete/update/insert ....";
result2 = $pdo->exec($sql);  //返回一个真假值

手册可以找到:
函数参考》数据库扩展》数据库抽象层》PDO

PDO针对不同数据库有相应的PDO引擎
要操作某种数据,就去“打开”相应的引擎
在php.ini的配置文件中,找到php_pdo_mysql.dll去掉分号



使用pdo链接mysql数据库
$DSN = "mysql:host=服务器地址/明聪;port=端口号;dbname = 数据库名"
$Options = array(PDO::MYSQL_ATTR_INIT_COMMAND=>'set name utf8');
$pdo = new pdo($DSN,"用户名","密码",Options);

pdo对象的使用(常见方法)
$result =$pdo->query("返回结果集的sql语句");
结果:是一个pdo结果集对象
失败:false
$result = $pdo->exec("增删改语句");
成果:true
失败:false
$pdo=null;//销毁对象

其他操作:
$pdo->lastInsertId(); 获取最后添加的id值
$pdo->beginTransaction(); 开启一个事务
commit 提交一个事务
rollBack 回滚一个事务
inTransaction 判断当前是否在事务中
setAttribute(属性名,属性值) 设置pdo对象的属性值

pdo的错误处理
默认情况下,pdo采用“静默模式”处理错误,即返回false
 
(errorcode;errorinfo)

异常模式
可以简单理解为:适应面向对象语法的处理错误的一种语法结构
try{
}
catch(Exception $e){
}
pdo对象的常用方法:

pdo的预处理语法:
为了“重复执行”多跳结构类似的sql语句,而将该sql语句的形式“进行预先处理”(编译);
该sql语句的“形式”中,含有“未给定的数据项”

语句1:
$sql = "select * from tab where id = ?" 
//这里这个“?”就是未给定的数据项
语法2:
$sql = "select * from tab where id=:v1 and name = :v2 ";
//这里这个:v1和:v2就是未给定的数据项
怎么使用:
分3步:
1.对含预处理语法的sql语句进行预处理
$stmt = $pdo->prepare($sql);
2.对上述预处理的结果对象($stmt)的未复制数据,进行赋值
$stmt->bindValue(数据项1,值1);
$stmt->bindValue(数据项1,值2);
…………
3.执行执行:
$stmt->execute();
这样之后,该sql语句就算正式完成
原创粉丝点击