文章目录

  • 一、什么是PDO?
  • 二、PDO的作用与特点
    • 2.1 统一各种数据库的访问接口
  • 三、PDO的启用
    • 3.1 我们可以使用 phpinfo() 函数来查看是否开启。
  • 四、通过PDO连接数据库
    • 4.1 PDO的构造函数
      • 4.1.1 exec()方法 返回执行后受影响的行数
      • 4.1.2 query()方法 用于返回执行查询后的结果集

一、什么是PDO?

PDO是PHP Date Object(PHP数据对象)的简称,它是与PHP 5.1版本一起发行的。
目前支持的数据库包括Firebird、FreeTDS、Interbase、MySQL、MS SQL Server、ODBC、Oracle、Postgre SQL、SQLite和Sybase。
有了PDO,您不必再使用mysql_*函数、oci_*函数或者mssql_*函数,也不必再为它们封装数据库操作类,只需要使用PDO接口中的方法就可以对数据库进行操作。在选择不同的数据库时,只需修改PDO的DSN(数据源名称)。
在PHP 6中将默认使用PDO连接数据库,所有非PDO扩展将会在PHP 6中被移除。该扩展提供PHP内置类PDO来对数据库进行访问,不同数据库使用相同的方法名,以解决数据库连接不统一的问题。

二、PDO的作用与特点

2.1 统一各种数据库的访问接口

PDO是一个“数据库访问抽象层”,作用是统一各种数据库的访问接口,与mysql和mssql函数库相比,PDO让跨数据库的使用更具有亲和力;与ADODB和MDB2相比,PDO更高效。

三、PDO的启用

PDO是与PHP 5.1一起发行的,默认包含在PHP 5.1中。
由于PDO需要PHP 5.0核心面向对象特性的支持,因此其无法在PHP 5.0之前的版本中使用
默认情况下,PDO在PHP 5.2中为开启状态,但是要启用对某个数据库驱动程序的支持,仍需要进行相应的配置操作。

  • 在Windows环境下,PDO在php.ini文件中进行配置,如果想支持某个特定数据库,只需要把php.ini 文件里边所对应的 ;号 去掉即可。
    我们先找到php.ini 配置文件,然后进入


    搜索 pdo_
    可以看到我们这里只打开了 mysql和sqlite。
    注意:开启过后需要重启Apache

3.1 我们可以使用 phpinfo() 函数来查看是否开启。



可以看到我们成功开启!

四、通过PDO连接数据库

4.1 PDO的构造函数

在PDO中,要建立与数据库的连接需要实例化PDO的构造函数,PDO构造函数的语法如下:
__construct(string $dsn[,string $username[,string $password[,array $driver_options]]])

  • dsn:数据源名,包括主机名、端口号和数据库名称。
  • username:连接数据库的用户名。
  • password:连接数据库的密码。
  • driver_options:连接数据库的其他选项。
    格式:mysql,db_databvase17,127.0.0.1,root,123456
    实例:
$dbms='mysql';//数据库类型
$host='127.0.0.1';//数据库主机名 也可以是127.0.0.1
$dbName='db_database17';//使用的数据库名称
$user='root';//用户名
$pass='123456';//对应的密码
$dsn="$dbms:dbname=$dbName;host=$host";$conn= new PDO($dsn,$user,$pass);//初始化一个PDO对象,就是创建了连接数据库的对象 $conn

构造函数用于,构造PDO对象,有了这个对象,我们我就可以使用里边的方法来访问数据库。

4.1.1 exec()方法 返回执行后受影响的行数

exec()方法返回执行后受影响的行数,:
通常用于 INSERTDELETEUPDATE语句中。
实例:

try{$conn= new PDO($dsn,$user,$pass);//初始化一个PDO对象,就是创建了连接数据库的对象 $conn$query="insert into tb_pdo_mysql(pdo_type,database_name,dates)values('".$_POST['pdo']."','".$_POST['databases']."','".$_POST['dates']."')";$result=$conn->exec($query);echo "数据添加成功,受影响的行数为:".$result;
} catch (PDOException $e){die ("Error!:".$e->getMessage().'<br/>');
}

效果:

4.1.2 query()方法 用于返回执行查询后的结果集

query()方法用于返回执行查询后的结果集:
实例:

try{$pdo = new PDO($dsn,$user,$pass);$sql = 'select * from tb_pdo_mysql';$result = $pdo->query($sql);foreach ($result as $row) {echo "<tr align='center'>"."<td>".$row['id']."</td>";echo "<td>".$row['pdo_type']."</td>";echo "<td>".$row['database_name']."</td>";echo "<td>".$row['dates']."</td>"."</tr>";}} catch (PDOException $e){die ("Error!:".$e->getMessage().'<br/>');
}

效果:

PDO方式连接数据库、PHP连接数据库相关推荐

  1. php mysql 替换 pdo,php操作MySQL数据库之PDO方式

    这篇文章主要介绍了关于php操作MySQL数据库之PDO方式 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下基本使用 1)连接数据库$pdo = new PDO("mysql ...

  2. 一个关于php使用pdo方式进行数据库连接和处理的类

    <?php /** @DB Operates For PDO @author:MeeeeN @date:2015-10-22 22:40:32 **/ //定义数据库信息 header(&quo ...

  3. mysql font连接数据库_MySQL-Front连接数据库的详细操作流程

    今天我们来学习一下MySQL-Front连接数据库的详细操作流程,有不清楚的用户,一起来学习一下吧. MySQL-Front连接数据库的详细操作流程 打开MySQL-Front: 如果你是第一次使用, ...

  4. oracle改连接数据库,oracle连接数据库以及增删改查(全面)

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sq ...

  5. PHP使用PDO方式的经验总结:连接 增删改查

    连接 public function pdo(){if (ENV == 'test') {$host = '2243.519.1106.725';$user = 'ttt';$pwd = 'ttt'; ...

  6. php pdo mysql类源码_php pdo数据库类(提取自微擎的pdo方式处理数据库类库)

    推荐:php zip文件压缩类库源码文件很实用的php zip压缩类库,内含两个php zip源码文件,可以直接下载使用,可以节省php web开发者大量的时间! mb5u.com 一个很实用的php ...

  7. sql server与java连接数据库_Java连接数据库(SQL Server)

    这个学期也接近尾声了,意味着课程设计也快要开始. 这一学期学校开了数据库教程原理和Java程序设计,在之前我就一直在学Java基础,现在JavaSE这一部分应该也学的差不多了,也有在学SQL Serv ...

  8. PHP PDO 连接SQLSErver,PHP 使用 PDO 方式连接 sqlserver ,拼接 的 sql 命令总是报错

    $sql = "Declare @v1 varchar(5000)"; $sql .="Declare @v2 varchar(5000)"; $sql .=& ...

  9. php连接mysql总结_php连接数据库的三种方式的总结

    在我们访问 MySQL 数据库前,我们需要先连接到数据库服务器: 以面向对象的方式mysqli //采用面向对象的方式连接数据库 $username = 'root'; $password = 'ro ...

最新文章

  1. AOI检测基本原理与设备构成
  2. mapreduce 丢数据_大数据之MapReduce详解
  3. postgresql windows 开发环境搭建
  4. “请给我一个五彩斑斓的黑”,只需一行命令就能让AI画画,OpenAI的Dall-E被大神复现...
  5. oracle体系结构剖析
  6. 「新闻」Google Science Fair
  7. kafka使用_Kafka 消费者的使用和原理
  8. linux中sed命令用例,sed解析和用例(马哥视频笔记)
  9. Python 操作 mongodb 数据库
  10. 《图解算法》第九章之动态规划
  11. WPS简历模板的图标怎么修改_新媒体运营-简历模板范文,【工作经历+项目经验+自我评价】怎么写?...
  12. froglt教你使用色相环配色(原创理论)
  13. kafka启动之后秒退的原因
  14. CS143 6、7. 自顶向下和自底向上的语法分析
  15. nginx负载均衡(权重)
  16. IAST 在去哪儿 Q-SDL 体系中的应用
  17. Ubuntu中文语言包下载失败解决方法
  18. 计算机病毒不可能侵入rom吗,计算机试题选择题重点1
  19. 我爱打折网55bbs被网易1800万收购
  20. Currency Translation in Bex Query Variable 2

热门文章

  1. OpenSSL命令--x509
  2. 欢(nan)乐(shou)纪中培训(Day 2)
  3. 傅里叶-梅林变换实现图像配准
  4. 为什么中国没有人来打破 Windows 98% 的垄断地位?
  5. CCRC信息安全服务资质--安全运维申请
  6. MySQL 与 mysql-connection-java 版本不对应导致出现 SQLException: Could not retrieve transation read-onl status
  7. 【三下乡】感悟文艺魅力,绽放绚丽青春——长江师范学院“青春星火筑梦团”开展“七彩课堂”活动
  8. 仲恺农业工程学院计算机专业怎么样,仲恺农业工程学院好就业吗?附学校就业率最高的专业名单...
  9. 几何画板教程:几何画板特色大揭秘!
  10. 花书和统计课程 目录