目录
PHP 认识PDO数据库抽象层,phppdo数据库抽象
PHP中的PDO模块
php pdo怎操作数据库
首页 php教程 php手册 PHP 认识PDO数据库抽象层,phppdo数据库抽象

PHP 认识PDO数据库抽象层,phppdo数据库抽象

Jun 13, 2016 am 09:24 AM
pdo

PHP 认识PDO数据库抽象层,phppdo数据库抽象

PDO全称是PHP Data Object(PHP数据对象),是PHP连接数据库中的一个扩展,目前得到普遍使用。PDO主要解决的问题是为不同的数据库提供一个统一的数据访问接口和操作层。为实现系统在跨数据库平台的开发及迁移等问题上提供了较好的解决方案。PDO 对象的获取
在PDO中,要建立与数据库的连接需要实例化PDO的构造函数。PDO构造函数语法如下:
PDO::__construct ( string $dsn [, string $username [, string $password [, array $driver_options ]]] )
通过PDO构造函数来连接数据库:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

<span> 1</span> <?<span>php

</span><span> 2</span> <span>$dbms</span> = 'mysql'<span>;

</span><span> 3</span> <span>$dbName</span> = 'dormitory'<span>;

</span><span> 4</span> <span>$host</span> = 'localhost'<span>;

</span><span> 5</span> <span>$user</span> = 'root'<span>;

</span><span> 6</span> <span>$pwd</span> = ''<span>;

</span><span> 7</span> <span>$dsn</span> = "<span>$dbms</span>:host=<span>$host</span>;dbname=<span>$dbName</span>"<span>;

</span><span> 8</span> <span>try</span><span> {

</span><span> 9</span>     <span>$pdo</span> = <span>new</span> PDO(<span>$dsn</span>, <span>$user</span>, <span>$pwd</span><span>);

</span><span>10</span>     <span>echo</span> '连接成功!'<span>;

</span><span>11</span> } <span>catch</span> (<span>Exception</span> <span>$e</span><span>) {

</span><span>12</span>     <span>echo</span> <span>$e</span>->getMessage() . "<br>"<span>;

</span><span>13</span> <span>}

</span><span>14</span> ?>

登录后复制

3种方法执行sql语句
执行sql语句的方法有:exec(),query(),prepare()+execute()。
1、exec()方法用于执行input,delete,update语句,返回值为受影响的行数;
2、query()方法用于执行select语句,返回值为一个二位数组;
3、预处理语句prepare()+execute(),可以用于执行input,delete,update,select语句,
可以把预处理语句看成想要运行的SQL的一种编译过的模板,他可以使用变量参数进行定制,做到查询时只需解析一次就可以执行多次;
如果应用程序只使用预处理语句,可以确保不会发生SQL注入。
PDO::prepare()返回值为一个PDOStatement对象,对象的内容为prepare()方法里面的参数;
PDO::execute(),检查sql是否可执行,返回值为一个boolean类型。
从预处理语句的返回值也可以看出,他并没有真正的执行sql语句,而是检查sql的正确性,准备好执行的状态,等到需要用到结果集的时候再执行。

1

2

3

4

5

6

7

8

9

10

11

12

13

<span> 1</span> <?<span>php

</span><span> 2</span>             <span>include_once</span> './pdo_db_conn.php'<span>;

</span><span> 3</span>             <span>try</span><span> {

</span><span> 4</span>                 <span>$query</span> = "select * from building"<span>;

</span><span> 5</span> <span>//</span><span>                $result = $pdo->query($query);//结果为一个二维数组</span>

<span> 6</span>                 <span>$result</span> = <span>$pdo</span>->prepare(<span>$query</span><span>);

</span><span> 7</span>                 <span>var_dump</span>(<span>$result</span><span>);

</span><span> 8</span>                 <span>$flag</span> = <span>$result</span>-><span>execute();

</span><span> 9</span>                 <span>var_dump</span>(<span>$flag</span><span>);

</span><span>10</span>             } <span>catch</span> (<span>Exception</span> <span>$e</span><span>) {

</span><span>11</span>                 <span>echo</span> <span>$e</span>-><span>getMessage();

</span><span>12</span> <span>            }

</span><span>13</span>             ?>

登录后复制

返回值:

object(PDOStatement)[2]
  public 'queryString' => string 'select * from building' (length=22)

boolean true

3种方法获取结果集
获取结果集的方法有fetch(),fetchAll(),fetchColumn();
fetch()方法获取结果集中的下一行,是一个数组;
fetchAll()方法获取结果集中的所有行,是一个数组;
fetchColumn()方法获取结果集中下一行指定的列的值。
三个方法的调用对象类型为PDOStatement对象类型,一般是在预处理语句之后执行

3种方法捕获sql语句中的错误的方式
当执行sql语句出现错误是,可以根据设置的错误提示方式,来决定显示错误的方法。
错误提示方式有:
1、PDO::ERRMODE_SILENT
默认方式,出现错误时程序继续执行,无错误提示。
2、PDO::ERRMODE_WARNING
出现错误时会继续执行,错误的部分会提示警告信息。
3、PDO::ERRMODE_EXCEPTION
出现错误时不会继续执行,错误的部分会提示异常信息。

2种方法获取程序错误信息
当执行sql语句出现错误是(访问数据库部分,对结果集的遍历错误不会提示),可以通过errorCode(),errorInfo()两个方法在后台输出错误信息,当sql语句是通过预编译执行的,这两个方法不适用。当在程序中调用errorCode()方法后,返回值为00000(5个0)时,表示程序没有错误,但返回其他5个字符时,表示程序是有错误的,这时可以通过调用errorInfo()方法来查看具体错误的信息。

PHP中的PDO模块

这个跟PHP的版本有一点点关系的。比如,PHP5.2要开启php_pdo.dll和php_pdo_mysql.dll两个,php5.4则只需要开启php_pdo_mysql.dll这一个就行了
 

php pdo怎操作数据库

$s_sql = select username,password from t_table where username=? and password=?;
$sth = $dbh->prepare($s_sql);
$result = $sth->execute(array($username,$password));
$result = $sth->fetchAll();//如果不存在返回的是空的数组,如果存在就是用户名+密码
 

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

仓库:如何复兴队友
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

PHP Fatal error: Call to undefined method PDO::prepare() in的解决方法 PHP Fatal error: Call to undefined method PDO::prepare() in的解决方法 Jun 22, 2023 pm 06:40 PM

PHP作为一种流行的Web开发语言,已经被使用了很长时间。PHP中集成的PDO(PHP数据对象)类是我们在开发Web应用程序过程中与数据库进行交互的一种常用方法。但是,一些PHP开发者经常遇到的问题是,当使用PDO类与数据库进行交互时,他们会收到这样的错误:PHPFatalerror:CalltoundefinedmethodPDO::prep

php如何使用PHP的PDO_PGSQL扩展? php如何使用PHP的PDO_PGSQL扩展? Jun 02, 2023 pm 06:10 PM

PHP作为一种流行的编程语言,在Web开发领域中有着广泛的应用。其中,PHP的PDO_PGSQL扩展是一种常用的PHP扩展,它提供了与PostgreSQL数据库的交互接口,可以实现PHP与PostgreSQL之间的数据传输和交互。本文将详细介绍如何使用PHP的PDO_PGSQL扩展。一、什么是PDO_PGSQL扩展?PDO_PGSQL是PHP的一个扩展库,它

PHP和PDO: 如何执行批量插入和更新 PHP和PDO: 如何执行批量插入和更新 Jul 28, 2023 pm 07:41 PM

PHP和PDO:如何执行批量插入和更新导言:在使用PHP编写数据库相关的应用程序时,经常会遇到需要批量插入和更新数据的情况。传统的做法是使用循环来执行多次数据库操作,但这样的方法效率较低。PHP的PDO(PHPDataObject)提供了一种更高效的方法来执行批量插入和更新操作,本文将介绍如何使用PDO来实现批量插入和更新。一、PDO简介:PDO是PH

PHP和PDO: 如何处理数据库中的JSON数据 PHP和PDO: 如何处理数据库中的JSON数据 Jul 29, 2023 pm 05:17 PM

PHP和PDO:如何处理数据库中的JSON数据在现代web开发中,处理和存储大量数据是一个非常重要的任务。随着移动应用和云计算的普及,越来越多的数据以JSON(JavaScriptObjectNotation)格式存储在数据库中。PHP作为一种常用的服务器端语言,它的PDO(PHPDataObject)扩展提供了一种方便的方式来处理和操作数据库。本

PHP和PDO: 如何进行分页查询和显示数据 PHP和PDO: 如何进行分页查询和显示数据 Jul 29, 2023 pm 04:10 PM

PHP和PDO:如何进行分页查询和显示数据在开发Web应用程序时,分页查询和显示数据是一个非常常见的需求。通过分页,我们可以一次显示一定数量的数据,提高页面加载速度和用户体验。在PHP中,使用PHP数据对象(PDO)库可以轻松实现分页查询和显示数据的功能。本文将介绍如何在PHP中使用PDO进行分页查询和显示数据,并提供相应的代码示例。一、创建数据库和数据表

PHP和PDO: 如何执行数据库备份和还原操作 PHP和PDO: 如何执行数据库备份和还原操作 Jul 29, 2023 pm 06:54 PM

PHP和PDO:如何执行数据库备份和还原操作在开发Web应用程序时,数据库的备份和还原是非常重要的任务。PHP作为一门流行的服务器端脚本语言,提供了丰富的库和扩展,其中PDO(PHP数据对象)是一款强大的数据库访问抽象层。本文将介绍如何使用PHP和PDO来执行数据库备份和还原操作。第一步:连接数据库在实际操作之前,我们需要建立与数据库的连接。使用PDO对

如何使用PDO连接到Redis数据库 如何使用PDO连接到Redis数据库 Jul 28, 2023 pm 04:29 PM

如何使用PDO连接到Redis数据库Redis是一个开源的高性能、内存存储的键值数据库,常用于缓存、队列等场景。在PHP开发中,使用Redis可以有效提升应用的性能和稳定性。而通过PDO(PHPDataObjects)扩展,我们可以更方便地连接和操作Redis数据库。本文将介绍如何使用PDO连接到Redis数据库,并附带代码示例。安装Redis扩展在开始

PHP PDO 与 mysqli:比较和对比 PHP PDO 与 mysqli:比较和对比 Feb 19, 2024 pm 12:24 PM

PDOPDO是一个面向对象的数据库访问抽象层,它为PHP提供了一个统一的接口,允许您使用相同的代码与不同的数据库(如Mysql、postgresql、oracle)进行交互。PDO隐藏了底层数据库连接的复杂性,简化了数据库操作。优缺点优点:统一接口,支持多种数据库简化数据库操作,降低开发难度提供预处理语句,提高安全性支持事务处理缺点:性能可能比原生扩展稍低依赖外部库,可能会增加开销演示代码使用PDO连接mysql数据库:$db=newPDO("mysql:host=localhost;dbnam

See all articles