PHP操作MySQL数据库

一、简介

      PHP中提供的用于MySQL操作的API主要分为三种:即MySQL扩展、mysqli扩展和PDO PHP数据对象。三者各有优缺点。使用建议首选mysqli扩展,下来是PDO,mysql扩展不建议使用。

1.1、PHP的MySQL扩展

      这种扩展是PHP应用于MySQL数据库交互的早期扩展,mysql扩展提供了一个面向过程的接口,并且是针对MySQL4.1.3或更早版本设计的,因此,该扩展虽然可以与MySQL4.1.3或更新的数据库服务端进行交互,但是它并不支持后期的MySQL服务端提供的一些特性。如果使用MySQL4.1.3或者更新的服务器版本,强烈建议使用mysqli扩展替换mysql扩展。

1.2、PHP的mysqli扩展

      mysqli扩展,有时称之为MySQL增强扩展,可以用于使用MySQL4.1.3或更新版本中新的高级特性,在PHP5以及以后的版本中包含有mysqli扩展,相对于mysql扩展,mysqli扩展主要有以下优势:

      1.2.1、面向对象接口

      1.2.2、prepared语句支持

      1.2.3、多语句执行支持

      1.2.4、事务支持

      1.2.5、增强的调试能力

      1.2.6、嵌入式服务支持

     如果使用MySQL4.1.3或者更新的服务器版本,强烈建议使用mysqli扩展替换mysql扩展。

      注意:mysqli扩展在提供面向对象接口的同时也提供了一个面向过程的接口,也就是说可以使用mysqli接口编写面向对象的程序也能编写面向过程的程序。

1.3、PDO

      PHP数据对象,是PHP的一个数据库抽象规范,PDO提供了一个统一的API接口可以让你的PHP应用不用去关心具体要连接的数据库服务器类型,也就是说,使用PDO的API,你可以在不同数据库类型之间进行无缝切换,仅仅需要修改很少的PHP代码。类似Java中的JDBC。它的优点是提供干净、简单、可移植的API,缺点是会限制你让你不能使用MySQL后期版本提供的数据库高级特性,如MySQL的多语句执行。PDO的MySQL驱动处于PDO的下层,提供特定的MySQL功能,程序员调用PDO的API,而PDO会使用PDO的MySQL驱动完成于MySQL服务器端的交互。PDO的MySQL驱动只是众多PDO驱动中的一个,其他的还有PostgreSQL驱动等。

1.4、关于PHP的MySQL Native驱动

      为了和MySQL数据库服务端进行交互,mysql扩展、mysqli扩展以及PDO MySQL驱动都使用了实现了必要协议的底层库,以前,可用的库只有MySQL客户端和libmysql,libmysql是早期为c应用程序设计的,libmysql包含的接口没有针对PHP进行优化,所以,开发了MySQL Native驱动mysqlnd,作为libmysql针对PHP应用的修改优化版本。以上三种扩展都可以配置并使用libmysql或者mysqlnd。由于mysqlnd专门针对PHP进行过优化,它在内存和速度上都比libmysql有较大提升。注意:mysqlnd驱动仅仅可以在MySQL服务端版本为4.1.3及以后的版本中使用。

 

 

二、mysql扩展

 

2.1、插入、更新、删除基本差不多

扩展查询

 

2.2、插入、更新、删除基本差不多

mysql扩展插入 更新 删除

 

三、mysqli扩展

3.1、mysqli过程化查询

mysqli过程化查询

 

      3.2、mysqli预处理插入,修改和删除类似

mysqli预处理插入

 3.3、mysqli面向对象,包含结果集绑定

mysqli面向对象

 



 

你可能感兴趣的:(mysql)