10bet网址
连接器和api手册
本手册下载
PDF (Ltr)- 5.2 mb
PDF (A4)- 5.2 mb


7.3.1概述

版权1997 - 2021 PHP文档组。10bet官方网站

本节提供了一个介绍选择你开发PHP应用程序时,需要与MySQL数据库交互。

一个API是什么?

一个应用程序编程接口或API定义类、方法、函数和变量,您的应用程序需要调用以执行其预期的任务。在PHP应用程序中,需要与数据库通信所需的api通常是通过PHP扩展。

可以程序或面向对象的api。程序API,你调用函数来执行任务,然后实例化类和面向对象的API调用生成的对象上的方法。两种,后者通常是首选的接口,因为它是更现代和导致组织有效的代码。

在编写PHP应用程序需要连接到MySQL服务器有几个API可用选项。本文讨论了什么是可用的,如何选择最好的解决方案为您的应用程序。

一个连接器是什么?

在MySQL文档,这个词10bet官方网站连接器是指一个软件,允许您的应用程序连接到MySQL数据库服务器。MySQL连接器提供了多种语言,包括PHP。

如果您的PHP应用程序需要与数据库服务器通信需要编写PHP代码来执行这些活动作为连接到数据库服务器,查询数据库和其他数据库相关功能。软件需要提供PHP应用程序将使用的API,并处理您的应用程序和数据库服务器之间的通信,在必要时可能使用其他中间库。这个软件是通常被称为一个连接器,它允许您的应用程序连接一个数据库服务器。

什么是驱动程序?

驱动程序是一种软件设计与特定类型的数据库服务器通信。司机也可以叫一个库,比如MySQL客户端库或MySQL本地司机。使用这些库实现底层协议与MySQL数据库服务器通信。

通过一个例子,PHP数据对象(PDO)数据库抽象层可以使用一个特定于数据库的驱动程序。其中一个司机具备PDO MYSQL驱动程序,它可以与MYSQL服务器接口。

有时人们互换使用术语连接器和驱动程序,这可以令人困惑。在mysql相关文档10bet官方网站司机是留给软件提供了特定于数据库连接器包的一部分。

一个扩展是什么?

PHP文档中,你会遇到10bet官方网站另一个术语扩展。PHP代码包含一个核心、以可选的扩展核心功能。PHP的MySQL相关扩展,比如mysqli扩展,和PDO MySQL驱动程序扩展,使用PHP扩展框架实现。

一个扩展通常公开API PHP程序员,允许其设施以编程方式使用。然而,一些扩展使用PHP扩展框架不暴露PHP程序员的API。

PDO MySQL驱动程序扩展,例如,不让一个API PHP程序员,但提供了一个接口PDO层上面。

API和扩展条款不应意味着同样的事情,作为一个扩展未必让程序员的API。

使用MySQL PHP API的主要产品是什么?

主要有两种API选项当考虑连接到一个MySQL数据库服务器:

  • PHP的mysqli扩展

  • PHP数据对象(PDO)

每个人都有自己的优点和缺点。下面的讨论旨在给予简要介绍每个API的关键方面。

PHP的mysqli扩展名是什么?

mysqli扩展,或有时称为,MySQL改进的扩展,开发利用新特性在4.1.3 MySQL系统版本和新发现。的mysqli5,后来扩展包含PHP版本。

mysqli扩展有许多好处,增强了的关键mysql扩展:

  • 面向对象的接口

  • 支持准备好的语句

  • 支持多种语句

  • 支持事务

  • 增强调试功能

以及面向对象的接口扩展还提供了一个程序接口。

mysqli扩展是使用PHP扩展框架构建的,它的源代码位于目录ext / mysqli

为进一步的信息mysqli扩展,看到7.3节,“MySQL扩展改善”

PDO是什么?

PHP数据对象或PDO是专为PHP应用程序数据库抽象层。PDO为PHP应用程序提供了一个一致的API无论哪一类型的应用程序将连接到数据库服务器。理论上,如果您正在使用PDO API,你可以切换数据库服务器使用,从说火鸟MySQL,只需要进行少量更改PHP代码。

其他数据库抽象层的例子包括JDBC Java应用程序和Perl DBI。

虽然PDO有其优势,如一个干净、简单、便携的API,它的主要缺点是,它不允许你使用所有的高级特性可用的最新版本的MySQL服务器。例如,PDO不允许您使用MySQL支持多条语句。

PDO是使用PHP扩展实现的框架,它的源代码位于目录ext / pdo

有关PDO的进一步信息,请参阅http://www.php.net/book.pdo

PDO MYSQL驱动程序是什么?

PDO MYSQL驱动程序不是一个API,至少从PHP程序员的角度来看。事实上,PDO MYSQL司机坐在下面的层PDO本身并提供MYSQL功能。程序员仍然调用PDO API,但是PDO使用PDO MYSQL驱动程序与MYSQL服务器进行通信。

PDO MYSQL驱动是几个可用的PDO司机之一。其他可用的PDO司机包括火鸟和PostgreSQL数据库服务器。

PDO MYSQL驱动程序使用PHP扩展框架实现。其源代码位于目录ext / pdo_mysql。它不公开PHP程序员的API。

PDO MYSQL的驱动程序为进一步的信息,请参阅7.4节,“MySQL函数(PDO_MYSQL)”

PHP的MySQL本地驱动程序是什么?

为了与MySQL数据库服务器通信,mysqli和每次使用PDO MYSQL驱动一个底层库,实现所需的协议。在过去,唯一可用的库是MySQL客户端库,否则称为libmysqlclient

然而,提供的接口libmysqlclient不与PHP应用程序优化沟通,libmysqlclient最初设计时考虑到C应用程序。出于这个原因,MySQL本地司机,mysqlnd,开发的另一种选择libmysqlclientPHP应用程序。

这两个,mysqli扩展和PDO MySQL驱动都可以单独配置为使用libmysqlclientmysqlnd。作为mysqlndPHP系统专门设计是利用大量的内存和速度改进了吗libmysqlclient。强烈建议您利用这些改进。

MySQL本地司机使用PHP扩展框架实现。源代码位于ext / mysqlnd。它不公开PHP程序员的API。

特性的比较

下表比较的功能从PHP连接到MySQL的主要方法:

表7.1对比MySQL为PHP API选项

PHP的mysqli扩展 PDO(使用PDO MySQL驱动和MySQL本机驱动)
PHP版本引入了 5.0 5.0
MySQL发展现状 积极开发 积极开发
API支持数据集 是的 是的
API支持服务器端准备好的语句 是的 是的
API支持客户端准备好的语句 没有 是的
API支持存储过程 是的 是的
API支持多个语句 是的 大多数
支持所有MySQL 4.1 +功能 是的 大多数