`
zccst
  • 浏览: 3322620 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

PHP数据库扩展——PDO

 
阅读更多
PDO
作者:zccst

一、PDO的安装与配置
可直接参考php手册PDO文档。

二、PDO的使用
开始PDO可以连接本地,也可以连接远程数据库。注意设置参数。
//$dsn = "mysql:host=localhost;dbname=test";
//$pdo = new PDO($dsn, 'root', '');
$dsn = "mysql:host=localhost;port=3306;dbname=myDbName";
$pdo = new PDO($dsn, 'root', 'pwd', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''));


1,查询
    global $pdo;
    $sql = "select date, sn, model from server_detail limit 3";
    $statement = $pdo->query($sql);
    $result = $statement->fetchAll(PDO::FETCH_ASSOC);
    var_dump($result);


几点解释:
(1)如果取单条记录,用fetch();如果取多条记录,用fetchAll()
$result = $statement->fetch();
$result = $statement->fetchAll();
可以print_r($result);你会发现,如果fetch不设置参数,将返回数字索引和关联索引。
类似,
Array
(
    [0] => Array
        (
            [id] => 1
            [0] => 1
            [name] => heiyeluren
            [1] => heiyeluren
            [gender] => 男
            [2] => 男
            [time] => 2006-10-28 23:14:23
            [3] => 2006-10-28 23:14:23
        )
}
这样浪费资源,一般情况下我们只需要关联索引PDO::FETCH_ASSOC。
注:关联索引和关联数组不一样。
区别是关联数组的key不能重复,但关联索引的key可重复(实际上必须重复)。

(2)几个fetch参数
。。。
$rs = $pdo->query("SELECT * FROM foo");
$rs->setFetchMode(PDO::FETCH_ASSOC);
$result_arr = $rs->fetchAll();
。。。
PDO::FETCH_ASSOC -- 关联数组形式
PDO::FETCH_NUM -- 数字索引数组形式
PDO::FETCH_BOTH -- 两者数组形式都有,这是缺省的
PDO::FETCH_OBJ -- 按照对象的形式,类似于以前的 mysql_fetch_object()
当然,一般情况下我们是使用PDO::FETCH_ASSOC

(3)查询前也可以设一些参数
。。。
$pdo->setAttribute(PDO::ATTR_CASE, PDO::CASE_UPPER);
$rs = $pdo->query("SELECT * FROM foo");
。。。

PDO::CASE_LOWER -- 强制列名是小写
PDO::CASE_NATURAL -- 列名按照原始的方式
PDO::CASE_UPPER -- 强制列名为大写

(4)查询的另一种写法
$statement= $pdo->prepare("SELECT * FROM foo");
$statement->execute();
while($row = $statement->fetch()){
    print_r($row);
}

2,更新(包括插入、更新和删除)
    global $pdo;
    $sql = "INSERT INTO foo SET name = 'heiyeluren',gender='男',time=NOW()";
    $count = $pdo->exec($sql);
    echo $count;


3,取一列
global $pdo;
$sql = "SELECT COUNT(*) FROM foo";
$rs = $pdo->query($sql);
$col = $rs->fetchColumn();
echo $col;



最后,
    $pdo = null;
默认这个不是长连接,如果需要数据库长连接,需要最后加一个参数:array(PDO::ATTR_PERSISTENT => true) 变成这样:
$db = new PDO($dsn, 'root', '', array(PDO::ATTR_PERSISTENT => true));

分享到:
评论

相关推荐

    PHP (PDO)连接oracle数据库

    PDO(PHP Data Objects)是PHP的一个扩展,提供了一种统一的方式来访问各种数据库,包括Oracle。本文将详细介绍如何使用PHP PDO连接Oracle数据库,以及提供的资源如何帮助解决问题。 首先,让我们理解PHP PDO的基本...

    php_pdo_dblib.rar

    "php_pdo_dblib.rar"这个压缩包提供的正是PHP连接SQL Server所需的一个关键扩展——PDO_dblib。PDO(PHP Data Objects)是PHP中的一个数据库访问层,它提供了一种统一的接口来访问多种数据库,而 dblib 是一个用于与...

    php-PDO(ppt文档).ppt

    在PHP6中,PDO成为了默认的数据库连接扩展,其他非PDO的数据库扩展将被逐步淘汰。PDO通过提供一个PHP内置类——PDO,实现了对多种数据库系统的连接,包括MySQL、PostgreSQL、Oracle、ODBC等,解决了数据库连接接口不...

    电子商务Web数据库开发探索——PHP技术.pdf

    PHP通过mysqli或PDO扩展与MySQL进行交互,实现数据的查询、插入、更新和删除操作。例如,使用mysqli_connect()函数建立连接,mysqli_query()执行SQL语句,mysqli_fetch_assoc()获取查询结果。 三、会话管理 在电子...

    pdo.rar_php pdo

    标题中的“pdo.rar_php pdo”指的是PHP Data Objects(PDO)扩展,这是一个PHP语言用来访问数据库的标准接口。...无论你是初学者还是经验丰富的开发者,理解并熟练使用PDO都是提升PHP数据库编程能力的重要步骤。

    网站维护杀手锏——网络编程——ASP、PHP、JSP与数据库互联.pdf

    PHP提供了丰富的内置函数和类库,支持多种数据库连接方式,如PDO(PHP Data Objects)和mysqli扩展,使得开发人员能快速构建数据库驱动的网站。 3. JSP(JavaServer Pages):JSP是由Sun Microsystems(现已被...

    PHP5手册——PHP大全

    此外,它还介绍了PHP与数据库的交互,特别是MySQLi和PDO(PHP Data Objects)扩展,使得数据库操作更为便捷安全。 HTTP协议和Web服务部分,手册涵盖了会话控制、cookies的使用,以及如何创建和解析URL。对于想要...

    php使用PDO操作MySQL数据库实例

    PDO的出现主要是为了解决PHP在数据库操作上的一个主要问题——随着越来越多的数据库系统出现在开发者的视线中,开发者需要学习并掌握多种不同的数据库访问方式,如mysql_*系列函数、mysqli_*系列函数等。为了简化...

    php获取mysql字段名称和其它信息的例子

    首先,确保你已安装了PHP的MySQL扩展,如`mysqli`或`PDO_MySQL`,这将允许你通过PHP与MySQL服务器进行通信。以下是一个简单的连接示例: ```php <?php $servername = "localhost"; $username = "username"; $...

    PHP源码实例——成绩统计

    PHP通过PDO(PHP Data Objects)或mysqli扩展与数据库进行交互。实例中,你将看到如何建立数据库连接、执行SQL查询(如INSERT用于添加成绩,SELECT用于查询成绩)以及处理查询结果。 3. HTML表单处理: 用户界面...

    PHP安装连接SQLSERVER扩展方法

    根据题目中的描述,这里提到的是针对SQL Server 2008的扩展——SQLSRV20。首先需要从微软官方下载站点获取适用于PHP的SQLSRV驱动程序。具体链接为:[http://www.microsoft.com/en-us/download/details.aspx?id=20098...

    PHP实例开发源码——PHP星座运势查询系统.zip

    3. **数据库连接与操作**:使用PHP的PDO或mysqli扩展进行数据库连接,执行SQL查询来获取星座和运势信息。 4. **模板引擎**:可能使用Smarty或其他模板引擎来分离业务逻辑和视图展示。 5. **日期时间函数**:PHP的...

    PHP源码实例——xuexiaofree

    实例可能使用`mysqli`或`PDO`扩展进行数据库连接,并使用SQL语句进行数据的增删改查操作。 4. 错误处理和调试:PHP提供了一些错误报告机制,如`error_reporting()`和`ini_set()`,用于调试代码,确保程序运行的稳定...

    PHP源码实例——jz

    `mysqli` 或 `PDO` 扩展提供了连接、查询、插入、更新和删除数据库记录的方法。初学者需理解SQL语言,如SELECT, INSERT, UPDATE, DELETE语句。 5. Session和Cookie: PHP的 `session_start()` 和 `$_SESSION` 变量...

    php小商城(包含数据库)(大学数据库课程设计)

    在实现过程中,开发者可能会使用PHP的PDO(PHP Data Objects)扩展来安全地连接和操作MySQL数据库。PDO提供了预处理语句,能有效防止SQL注入攻击,同时提高代码的可读性和可维护性。此外,为了实现良好的用户体验,...

    PHP源码——通讯录

    PHP通过预处理语句或PDO扩展与数据库进行安全连接。 - **MVC(Model-View-Controller)模式**:这是一种常见的Web应用设计模式,模型负责处理数据,视图负责展示,控制器协调两者。在这个通讯录应用中,模型可能...

    php课程笔记——韩顺平.rar

    1. PDO(PHP Data Objects):介绍PDO扩展,用于连接多种类型的数据库。 2. SQL语句:讲解SQL基本查询、插入、更新、删除操作,以及JOIN、子查询等高级用法。 3. 数据库事务:理解事务的概念,使用PDO进行事务处理。...

    php网页设计——汽车广告

    PHP通过预定义的MySQLi或PDO扩展与数据库进行交互,执行SQL查询,例如添加、修改、删除广告数据。 3. **MVC(Model-View-Controller)架构**:为了实现良好的代码组织和可维护性,此项目可能采用了MVC设计模式。...

    EXCEL数据导入数据库_PHP版

    标题“EXCEL数据导入数据库_PHP版”涉及到的关键技术点是使用PHP编程语言处理Excel文件并将其中的数据导入到三种类型的数据库——MySQL、MSSQL和Access。这个系统网站可能包含了一个完整的流程,帮助用户方便地进行...

    php程序设计课程大作业——基于PHP、MySQL的web端借还书系统.zip

    PHP提供mysqli、PDO等数据库扩展,能够无缝连接MySQL,进行SQL查询、数据插入、更新、删除等操作,实现动态网站的数据持久化。此外,PHP还支持与其他数据库系统的连接,如PostgreSQL、SQLite、Oracle等,具有良好的...

Global site tag (gtag.js) - Google Analytics