PDO控制、连接数据库
PDO(PHP Data Objects)是一种在PHP里连接数据库的使用接口。PDO与mysqli曾经被建议用来取代原本PHP在用的mysql相关函数,基于数据库使用的安全性,因为后者欠缺对于SQL资料隐码的防护。
PDO是连接数据库的另一种方法,之前用到的是mysqli,PDO 不是单纯的连接musql数据库,还可以连接到sqlserve oracl等等数据库,用起来更方便一些。
PDO 一个最大的特点就是具有事务性, 主要运用在财务方面,在执行的时候是一起通过,或者一起出现异常的,比如财务在转账过程中,一处的财务增加了,那么另一处的财务肯定会有所减少,运用PDO 就可以避免出现一处财务
增加了,而另一处财务没有减少的情况。
并不能使用PDO扩展本身执行任何数据库操作,必须使用一个database-specific PDO driver(针对特定数据库的PDO驱动)访问数据库服务器。PDO并不提供数据库抽象,它并不会重写SQL或提供数据库本身缺失的功能,如果你需要这种功能,你需要使用一个更加成熟的抽象层。
<?php
//创建对象
$dsn="mysql:dbname=test;host=localhost;"; $pdo=new PDO($dsn,"root","root"); //将PDO的错误类型设置为异常模式
$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); try{
//开启事务
$pdo->beginTransaction(); $sql1="insert into score VALUES ('110','3-215','90') ";
$sql2="insert into score VALUES ('111','3-215','92')"; //这两条语句是一起执行的,如果出错,这两条语句都是无法执行的 $pdo->exec($sql1); //如果是select语句 用query()调用就可以了
$pdo->exec($sql2); //提交事务
$pdo->commit();
}
catch(Exception $e)
{ //回滚操作
$pdo->rollBack();
}
?>
未操作前的数据库
操作后的数据库(提交事务后是一起出现在数据库的)
如果是添加大批量的数据的时候,用上面的方法写起来可能会比较麻烦一些, 下面是比较简单的方法,运用数组的模式来写
//创建对象
$dsn="mysql:dbname=test;host=localhost";
$pdo=new PDO($dsn,"root","root");
//预处理SQL语句
$sql="insert into score VALUES (:sno,:cno,:degree)";
$stem=$pdo->prepare($sql); //造一个数组
$arr=array("sno"=>"120","cno"=>"95033","degree"=>88); //执行
$stem->execute($arr);
下面是举例说明这种方法的简单之处:写一个添加页面和其处理页面
//这是添加页面
<body>
<h1>添加页面</h1>
<form action="pdoadd.php" method="post">
<div>学号:<input type="text" name="sno"/></div>
<div>班级:<input type="text" name="cno"/></div>
<div>成绩:<input type="text" name="degree"/></div>
<div><input type="submit" value="添加"/></div>
</form>
</body>
显示如图
//这是添加处理页面
<?php
$dsn="mysql:dbname=test;host=localhost";
$pdo=new PDO($dsn,"root","root");
//预处理语句
$sql="insert into score VALUES (:sno,:cno,:degree)";
$tem=$pdo->prepare($sql);
//执行
$tem->execute($_POST);
?>
从添加的处理页面可以看出,用pdo来处理相对于mysqli来处理要简单一些的
PDO控制、连接数据库的更多相关文章
- PDO方法连接数据库(怕忘记,记起来)
PDO方法连接数据库更加安全! [完整代码,只需要添上对应的数据库即可以运行] <?php include "init.inc.php"; //--------------- ...
- PHP pdo单例模式连接数据库
PHP pdo单例模式连接数据库<pre><?php class Db{ private static $pdo; public static function getPdo () ...
- 封装PDO连接数据库代码
废话不说直接上代码: <?php class DB { protected static $_connect; protected $dsn, $pdo; protected $_data, $ ...
- php PDO连接mysql
近期在linux装了新的环境.php5.6+mysql5.5+nginx. 然后用原来的mysql链接数据库出现的错误. 原因就是说连接数据库的方法太旧.建议我用mysqli和PDO来连接数据库. 好 ...
- 数据库PDO简介
php简介,php历史,php后端工程师职业前景,php技术方向,php后端工程师职业体系介绍. php是世界上使用最广泛的web开发语言,是超文本预处理器,是一种通用的开源脚本语言,语法吸收了c语言 ...
- [kohana] kohana3.2,如何兼容PDO数据库连接方式
由于历史原因,有个kohana3.2的站点需要搬迁到php5.5上来,但php5.5已经不支持mysql_connect()这个函数了,只能使用PDO来连接数据库. 但换上PDO之后,报了这个的一个错 ...
- 我懒蛋又回来了!-PDO
hi 好几天了吧,脚伤都有一周了的.玩乐的这么久才发觉,对于年轻人,或者更具体的,对我而言,受伤最难受的不是受伤瞬间的身痛,不是随之而来的心理负担,不是独自一人远在他乡的孤独无助之感:最伤的是斗志,是 ...
- PHP中用PDO方法打开连接关闭mysql数据库
代码如下: <meta http-equiv="content-type" content="text/html" charset="utf-8 ...
- PHP程序中使用PDO对象实现对数据库的增删改查操作的示例代码
PHP程序中使用PDO对象实现对数据库的增删改查操作(PHP+smarty) dbconn.php <?php //------------------------使用PDO方式连接数据库文件- ...
随机推荐
- bzoj1070————2016——3——14
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1070: 题目概括: Description 同一时刻有N位车主带着他们的爱车来到了汽车维修中 ...
- 笔记整理——linux
linux文件目录介绍 (2015/4/30 19:20:28) /proc 目录中的主要文件的说明 文件或目录名称 描 述 apm 高级电源管理信息 cmdline 这个文 ...
- MySQL的"旁门左道"用法总结
不断更新. 一.显示当前MySQL服务的版本:1是直接在查询窗口select version();2是show variables like 'version';
- HDU-2031-进制转换
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=2031 进制转换 Time Limit: 2000/1000 MS (Java/Others) M ...
- mongoDB文档操作
数据库操作无非就是增.删.改.查.这篇主要介绍增.删.改. 1.增 Mongodb插入操作很简单,使用关键字“insert”.实例: > db.test.blog.insert({"h ...
- mysql 使用sqldump来进行数据库还原
MYSQLdump参数详解 mysqldump备份: 复制代码代码如下: mysqldump -u用户名 -p密码 -h主机 数据库 a -w “sql条件” –lock-all-tables > ...
- PHP中的date函数中时区问题
从php5.1.0开始,php.ini里加入了date.timezone这个选项,默认情况下是关闭的,也就是显示的时间(无论用什么php命令)都是格林威治标准时间,所以才会有这个情况发生 解决方法如下 ...
- 使用Flex4容器若干技巧
本文适用于正在寻找使用Flex 4容器和布局的快速参考指南的开发人员. 尽管这不一定是一个复杂问题,但这似乎是许多开发人员的挫折的来源,特别是对于那些Flex刚刚入门的开发人员. 当开发人员不知道如何 ...
- JavaScript 正则表达式入门教程
正则表达式是描述一组字符串特征的模式,用来匹配特定的字符串 主要分三个部分:基本语法.RegExp对象的方法.JS中支持正则表达式的String对象方法 一.基本语法 在JS中,正则表达式为对象,用如 ...
- JavaWeb知识回顾二
动态web资源相关 1.tomcat相关 tomcat的目录结构 bin -- tomcat服务器的批处理文件的存放目录 conf -- tomcat服务器配置文件的存放目录 lib -- tomca ...