PDO 扩展|学习笔记

简介: 快速学习 PDO 扩展,掌握 PDO 扩展的加载

开发者学堂课程【PHP 进阶教程-由浅入深掌握面向对象开发-第三阶段PDO 扩展】学习笔记,与课程紧密联系,让用户快速学习知识。  

课程地址:https://developer.aliyun.com/learning/course/713/detail/12730


PDO 扩展

 

内容简介:

一、PDO 扩展概念

二、扩展示例

三、小结

 

一、概念

PDO 扩展:PDO 提供了一套帮助用户实现多数据库操作的统一接口,属于扩展加载

通过使用PDO,开发人员不需要额外自定义数据库对应的操作类(例如封装),从而简化开发过程

 

二、示例

1.PDO 在 PHP5 以前,是需要手动加载扩展的,在 php.ini,配置文件中,会有这么一个扩展(在PHP5 以后就自动加载了不需要手动在加载)// 现在用的是php7

;extension = pdo    # 现在php.ini 中找不到该配置项了

2.PDO 是一种针对多种数据库的扩展,那就意味着 PDO 很庞大,所以为了保证 PHP 运行的效率(系统会自动在开始时加载扩展),默认并没有开启对数据库产品的对应扩展,因此还需要在 php.ini 中开启目前项目所需要的PDO 对应数据库产品的支持

;extension=pdo_firebird

;extension=pdo_mysql   # 绝大部分项目使用的,这要去掉注释重启 apache 即可

;extension=pdo_oci

;extension=pdo_odbc

;extension=pdo_pgsql

;extension=pdo_sqlite

举例

打开软件文件夹-server-php7-php.ini,查找pdo,以;extension=pdo_mysql  为例,去掉;,开启扩展,需要重启apache生效。

3.加载 PDO 对mysql 数据库产品的扩展,重启 apache,然后通过 phpinfo()函数就可以查看 PDO 的加载情况了,至少有两个加载才算成功:PDO 本身和 PDO 针对的数据库产品

举例

新建文件夹,name:31pdoini.php

<?php

# 检查php环境

Phpinfo();

访问,如下图:

image.png

这就代表了pdo开启了mysql 数据库的支持。

 

三、小结

1.PDO 是一种外部提供的扩展,PHP 如果想直接调用,需要加载扩展 //省略了扩展路径,路径:extension_dir

2.PDO因为支持产品很多,所以分解成了PDO 扩展支持和 PDO 对应数据库产品的支持,PDO 扩展在 PHP5 以后自动开启,而数据库产品的支持需要开发者根据实际项目所有数据库来选择性开启

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
存储 监控 Cloud Native
|
缓存 前端开发 Java
Spring MVC 面试题及答案整理,最新面试题
Spring MVC 面试题及答案整理,最新面试题
372 0
|
11月前
|
监控 关系型数据库 MySQL
性能调优:避免SELECT *,仅查询需要的字段减少数据传输
在数据库性能调优中,`SELECT *`虽简便但不推荐。它会增加数据传输开销、降低查询优化器效率、影响代码可维护性,并可能成为性能瓶颈。明确指定查询字段能显著减少数据传输量、提升响应速度、优化执行计划并提高代码质量。通过实际案例对比,优化后的查询可减少60%的数据传输量,缩短40%的响应时间。建议养成明确字段查询的习惯,避免性能问题。
467 54
|
JSON 数据管理 关系型数据库
【Dataphin V3.9】颠覆你的数据管理体验!API数据源接入与集成优化,如何让企业轻松驾驭海量异构数据,实现数据价值最大化?全面解析、实战案例、专业指导,带你解锁数据整合新技能!
【8月更文挑战第15天】随着大数据技术的发展,企业对数据处理的需求不断增长。Dataphin V3.9 版本提供更灵活的数据源接入和高效 API 集成能力,支持 MySQL、Oracle、Hive 等多种数据源,增强 RESTful 和 SOAP API 支持,简化外部数据服务集成。例如,可轻松从 RESTful API 获取销售数据并存储分析。此外,Dataphin V3.9 还提供数据同步工具和丰富的数据治理功能,确保数据质量和一致性,助力企业最大化数据价值。
587 1
|
Web App开发 前端开发 JavaScript
如何去掉溢出内容的overflow属性滚动条
如何去掉溢出内容的overflow属性滚动条
951 1
|
机器学习/深度学习 编解码 算法
超分辨率相关的开源项目
该文档介绍了多种超分辨率模型及其GitHub项目地址,包括Real-ESRGAN(优化真实图片质量)、RCAN(基于残差结构与通道注意力机制)、SwinIR(基于Swin Transformer的图像恢复)、FSRCNN(轻量级快速超分辨率)、EDSR(增强型深度残差网络)、SRGAN(利用GAN的超分辨率模型)及LapSRN(多级Laplacian金字塔超分辨率)。
|
机器学习/深度学习 算法 数据可视化
Fisher模型在统计学和机器学习领域通常指的是Fisher线性判别分析(Fisher's Linear Discriminant Analysis,简称LDA)
Fisher模型在统计学和机器学习领域通常指的是Fisher线性判别分析(Fisher's Linear Discriminant Analysis,简称LDA)
|
网络协议 开发工具 git
使用 cloudflare 解决docker镜像问题
无聊的人才搞这么复杂,我推荐使用更简单有效的方法:https://developer.aliyun.com/article/1575426
|
消息中间件 物联网 网络性能优化
MQTT常见问题之MQTT的topic超出上限25个如何解决
MQTT(Message Queuing Telemetry Transport)是一个轻量级的、基于发布/订阅模式的消息协议,广泛用于物联网(IoT)中设备间的通信。以下是MQTT使用过程中可能遇到的一些常见问题及其答案的汇总:
|
SQL 存储 关系型数据库
mysql 利用 performance_schema 排查 qps 过高过程记录
mysql 利用 performance_schema 排查 qps 过高过程记录
642 0