PDO MYSQLI MYSQL 的区别
MYSQL,MYSQLI 这两个扩展本身就是访问MYSQL数据库的驱动
PDO则是一个抽象层接口
向程序员提供可调用的API是由,MYSQL驱动、MYSQLI驱动,以及PDO来提供。
PDO_MYSQL 是实现了PDO接口的MYSQL数据库驱动扩展,但本身不向用户提供API。实际上它处于PDO层的下层,为PDO提供MYSQL交互的功能
Mysql Native(mysqlnd)虽然也是驱动扩展,但可以认为他不是API。
从下表可以看出他们之间是怎样的关系
| PHP的mysqli扩展 | PDO (使用PDO MySQL驱动和MySQL Native驱动) | PHP的mysql扩展 | |
|---|---|---|---|
| 引入的PHP版本 | 5.0+ | 5.0+ | 3.0之前 |
| PHP5.x是否包含 | 是 | 是 | 是 |
| MySQL开发状态 | 活跃 | 在PHP5.3中活跃 | 仅维护 |
| 在MySQL新项目中的建议使用程度 | 建议 - 首选 | 建议 | 不建议 |
| API的字符集支持 | 是 | 是 | 否 |
| 服务端prepare语句的支持情况 | 是 | 是 | 否 |
| 客户端prepare语句的支持情况 | 否 | 是 | 否 |
| 存储过程支持情况 | 是 | 是 | 否 |
| 多语句执行支持情况 | 是 | 大多数 | 否 |
| 是否支持所有MySQL4.1以上功能 | 是 | 大多数 | 否 |
本文链接:http://likelys.com/article/10560
posted @ 2017-02-10 11:35:01
