1、方便不同数据库之间的切换
专注于为中小企业提供做网站、网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业临邑免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上1000家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
数据库有很多种,比如mysql,mysqli,Oracle,Access等等,使用pdo方式连接数据库,只需要定义DSN即可以连接各种类型的数据库
2、PDO有预处理机制,数据库操作更快,而且预处理机制可以有效的防止数据注入,降低数据库被黑客攻击的可能
就是操作数据库的方法,
pdo就是把操作数据库的函数封装成一个pdo类,其间做了安全验证而已。
在使用PDO之前首先要设置PHP.INI文件,使PHP支持PDO,因为PHP5默认是不支持的。在PHP安装目录下找到PHP.INI文件,打开并搜索extension=php_pdo.dll 和 extension=php_pdo_mysql.dll,将前面的分号(;)去掉,重启apache即可。
接下来我们就开始写PHP代码了,首先是连接数据库,看下面的例子:
!--?php
define('DB_NAME', 'pdo_test');
define('DB_USER', 'root');
define('DB_PASSWORD', '');
define('DB_HOST', 'localhost');
define('DB_CHARSET', 'utf8');
try {
$DBH = new PDO('mysql:host='.DB_HOST.';dbname='.DB_NAME, DB_USER, DB_PASSWORD);
$DBH---exec('SET CHARACTER SET '.DB_CHARSET);
$DBH-exec('SET NAMES '.DB_CHARSET);
} catch (PDOException $e) {
print "Error!: " . $e-getMessage() . "br";
die();
}
?
连接成功后,我们需要对数据库中的数据进行增删改查操作,这里主要用到exec和query两个函数。
示例:
!--?php
//增加数据
$sql_insert = 'Insert INTO wp_options(blog_id,option_name,option_value,autoload) VALUES (0,'.time().rand(1,100).','.time().rand(1,100).',\'no\')';
$back = $DBH---exec($sql_insert); //返回 bool 的true or fal
$lastInsertId = $DBH-lastInsertId();
//删除数据
$sql_delete = 'Delete FROM wp_options Where option_id='.$lastInsertId;
$back = $DBH-exec($sql_delete); //返回 bool 的true or fal
$lastInsertId = $DBH-lastInsertId();
//更新数据
$sql_update = 'Update wp_options SET option_name = \''.time().rand(1,100).'\' Where option_id='.$lastInsertId;
$lastUpdateId = $DBH-lastInsertId(); //返回的对应的操作的id
//查询数据
$sql_select = 'Select option_id FROM wp_options orDER BY option_id DESC LIMIT 4 ';
$back = $DBH-query($sql_select); //返回一个对象 这个对象可以用foreach 直接遍历循环 循环的为查询的结果集
$back = $DBH-query($sql_select)-fetch(); //返回一条数据结果 这个对象可以用foreach 直接遍历循环 循环的为查询的结果集
$back = $DBH-query($sql_select)-fetchAll(); //返回一个数组 这个对象可以用foreach 直接遍历循环 循环的为查询的结果集
$back = $DBH-query($sql_select)-fetchColumn(0); //返回一个字段字符串,这个字符串是返回的记录的第一条记录的第一个字段
?
到这里,PDO的基本操作基本上结束了。对于一般的企业网站,小型的管理系统基本上能满足了,但是,如果我们开发大型网站或者逻辑较复杂的管理系统,仅仅靠数据的读写是远远不够的,我们可能还需要对数据库的存储过程、事务等对象进行操作,下面我们继续看看用PDO是如何实现的。如果还有更多问题可以去后盾网论坛问题求助专区,希望我的回答对你有帮助!
pdo是什么
PDO(PHP Data Objects)是一种在PHP里连接数据库的使用接口。PDO与mysqli曾经被建议用来取代原本PHP在用的mysql相关函数,基于数据库使用的安全性,因为后者欠缺对于SQL注入的防护。