目录:

00x1 php中的pdo是什么?

00x2 pdo创建一个PDO对象


00x1 php中的pdo是什么?

就是操作数据库的方法,
pdo就是把操作数据库的函数封装成一个pdo类,其间做了安全验证而已。


果要开启某个PDO直接在PHP.ini当中激活即可。(直接将分号去除即可)

详细的开启服务可以在phpinfo下面查询即可。

00x2 创建一个PDO对象?


mysql连接数据库的方式是
<?php
mysql_connect("localhost","root","");
mysql_select_db('test');
?>

既然说了PDO就是将数据库封装成类。(Ps:PDO现在大多数主流的数据库)

PDO有四个参数:分别是$dsn、$username、$password、优化驱动的参数、

什么是dsn呢?其实DSN就是Data Source Name的简称,即数据源名。

data其实就是主机、数据库、数据库的驱动。

那么我们先用PDO来连接一下oracle数据库:

在此之前我们必须要安装oralce的驱动,我使用的是wampserver,自动就有装了主流数据库的一些驱动。

pdo的所在目录是:php\php5.3.10\ext

下图就是对应数据库的PDO驱动:

<?php
try {
$pdo = new PDO("mysql:host=localhost;port=3306;dbname=admin","root","");//如果PDO出现异常那么就执行catch中的代码。否则不执行catch进而继续向下执行。
} catch (Exception $e) {
echo "数据库连接失败!".$e->getmessage();
exit;
}
echo "创建PDO对象成功!";
?>

图中所指的是驱动:必须要安装才可以进行使用。

上面一个案例当中并没有使用到第四个参数,因为是可选的,PDO为我们提供优化驱动的第四个参数是一个数组。所以我们可以同时优化多个。

<?php
try {
$pdo = new pdo("mysql:host=localhost;port=3306;dbname=test","root","",array(PDO::ATTR_AUTOCOMMIT=>false));
} catch (PDOException $e) { }
echo $pdo->getattribute(PDO::ATTR_AUTOCOMMIT); ?>

  

THE END


跟着百度学PHP[14]-初识PDO数据库抽象层的更多相关文章

  1. 初识PDO数据库抽象层

    目录: 00x1 php中的pdo是什么? 00x2 pdo创建一个PDO对象 00x1 php中的pdo是什么? 就是操作数据库的方法,pdo就是把操作数据库的函数封装成一个pdo类,其间做了安全验 ...

  2. 跟着百度学PHP[14]-PDO之Mysql的事务处理2

    前面所将仅仅是在纯mysql下的讲解,这节就是要将其搬到PDO台面上来了. 将自动提交关闭. SetAttribute下有一个PDO::ATTR_AUTOCOMMIT 将其设置为0即可关闭,如:$pd ...

  3. 跟着百度学PHP[14]-PDO的错误处理模式&PDO执行SQL

    我们在使用PDO去执行sql语句的时候并不会报错.如下案例所示: <?php try { //$pdo = new pdo("mysql:host=主机;port=端口;dbname= ...

  4. 跟着百度学PHP[14]-PDO的预处理语句2

    在$sql = $pdo -> prepare("insert into users(gold,user,password) values(?,?,?)"):条语句我们不仅仅 ...

  5. 跟着百度学PHP[14]-PDO的预处理语句1

    预处理语句有以下两个特点: 1.效率高 2.安全性好 为什么说预处理语句效率高呢? 预处理语句就好比一个模板,比如下面的一串插入语句: insert into admin(id,username,pa ...

  6. 跟着百度学PHP[14]-PDO之Mysql的事务处理1

    事务处理:在实际案例当中干一件事的mysql语句(好比转账,小一同学转账100,小二同学收账,在mysql当中小一就要减去转账的钱,小二就要增加100快)倘若该语句执行过程中有任何一条的sql语句出错 ...

  7. 跟着百度学PHP[14]-COOKIE的应用/网站登陆案例完整案例

    先在数据库当中创建以下数据: mysql> create table user( -> id int not null auto_increment, ) not null default ...

  8. 跟着百度学PHP[14]-PDO-优化驱动

    使用方法设置预定义变量 PDO的方法/属性 PDO::beginTransaction — Initiates a transaction PDO::commit — Commits a transa ...

  9. 跟着百度学PHP[17]-复习PDO的几个关键词

    主要就是复习一下几个关键词.发现太久没有写又忘了.惭愧. final self static const

随机推荐

  1. TensorFlow环境搭建及安装教程

    1.安装虚拟环境virtualenv相关配置(创建了python3.5的环境) 2.http://docs.nvidia.com/cuda/cuda-installation-guide-linux/ ...

  2. Oracle两个时间段是否重合、冲突

    经常会碰到比较两个时间段是否冲突的情况. 思路1 最开始比较2个时间是否的思路是,时间段的重叠.  但是比较时间段重叠的情况,就有几种情况, 1. 时间前段冲突.   时间A:  2015-10-01 ...

  3. android 步骤控件的使用

    有的时候我们做Android开发会用到表示步骤的需求.这时候github给我们提供了一个非常好地表示步骤的组件,使用她仅仅须要4步就能够完毕了. 项目地址https://github.com/anto ...

  4. 前端性能优化:使用Array.prototype.join代替字符串连接

    来源:GBin1.com 有一种非常简单的客户端优化方式,就是用Array.prototype.join代替原有的基本的字符连接的写法.在这个系列的第一篇中,我在代码中使用了基本字符连接: htmlS ...

  5. Google Maps API v2密钥申请

    1. 进入到Google APIs Console页面 https://code.google.com/apis/console/ 点击左边导航栏的Seivices进入 在All services 的 ...

  6. WCF 之 初识WCF

    在编程中服务的作用越来越大了,.net从2.0的 webservice,到3.5之后的WCF,服务的功能越来越强了.现在先从简单的看起,先看看WCF服务的发布. 现在来看看一步一步发布 WCF 服务. ...

  7. iOS key value coding kvc在接收json数据与 model封装中的使用

    iOS key value coding  kvc在接收json数据与 model封装中的使用 使用 kvc 能够极大的简化代码工作,及以后的接口维护工作: 1:先创建MovieModel类.h和 . ...

  8. ThinkPHP 3.2 中获取所有函数方法名,以及注释,完整可运行

    <?php namespace Home\Controller; use Common\Controller\BaseController; class AuthController exten ...

  9. Android 查看 无wifi/usb设备的logcat方法

    Android 查看 无wifi/usb设备的logcat方法 一.情况 一个定制Android设备,wifi被去掉.我须要调试一个USB设备这样也无法用usb来输出logcat. 由于这个USB设备 ...

  10. 解决64位操作系统下运行psql的问题

    我的机器环境是 win7 64位.正常情况下,只需要安装plsql 和 oracle client,配置好 tnsname.ora 就能正常访问数据库.实际上遇到了几个问题. 1. 在tnsnames ...