首页 > 代码库 > PHP访问MySQL数据库

PHP访问MySQL数据库

9PHP访问MySQL数据库

1.  PHP访问MySQL数据库服务器的流程

之前学习mysql的时候,采用的是客户机/服务器”的体系结构

 

mysql>select * from a;    --------》MySQL数据库服务器

                                     《 ---------

 

 

PHP访问MySQL数据库的时候,我们的PHP则充当了客户机的角色

 

PHP充当了客户机的角色-----------》MySQL数据库服务器

             《-----------

 

 

 

接下来我们可以通过phpinfo()的函数来确定mysql模块是否被安装

 

Mysql里面,返回的数据大致可以分为两类:

InsertupdatedeleteDML语句):该类语句执行成功就返回TRUE,否则就返回FALSE

SelectDQL语句):返回的是查询的结果,专业名词被称为结果集(就是结果的集合)

 

PHP操作数据库的步骤:其实就和在客户端操作数据库的步骤一模一样

 

                              

                                                                   连接数据库

                                                                           |

                                                                   选择数据库

                                                                            |

                                            行被影响——  执行SQL语句----返回结果集

                                                   \                                                   |

 

                       \            处理结果集

                                                                            |

 

                                                                       关闭连接

 

2. PHP脚本里面连接MySQL服务器

① 连接数据库

PHPmysql扩展里面给我们提供了一个函数

mysql_connect(“主机名称”,”用户名”,”密码”)

就是和我们以前通过mysql客户端连接数据库的语法是一样的

如下:

 

 

PHP里面连接数据库和在客户端一样

 

如果连接错误,报的错误信息也是和客户机是一样的

 

 

 

因为mysql数据库模块现在已经渐渐的被淘汰,现在基本上使用mysqli或者使用pdo

@:错误屏蔽运算符  可以屏蔽错误信息

 

 

连接数据库成功以后,我们就可以通过一系列的MySQL扩展函数来查看数据库的相关信息

Mysql_get_client_info():获取客户端信息

Mysql_get_host_info():获取主机信息

Mysql_get_proto_info():获取mysql的协议信息

Mysql_get_server_info():获取mysql中的服务器信息

  

② 选择数据库

Mysql_select_db(“数据库名称”,数据库资源变量)

 

这一步和mysql里面的use 数据库名操作是一样的

 

 

 

③ 发送SQL语句

Mysql里面提供了mysql_query()函数用于执行sql语句的,执行该语句后,如果返回结果集,那么接收结果集的变量是一个资源类型变量

 

 

如果执行的语句没有结果集返回,则返回TRUE或者FALSE,所以自然接收返回值的变量的数据类型也是布尔类型

 

 

④ 处理结果集

处理结果集的函数有下面4个:

Mysql_fetch_row():将结果集中的一条记录返回并且以索引数组的形式保存

Mysql_fetch_assoc():将结果集中的一条记录返回并且以关联数组的形式保存

Mysql_fetch_array():将结果集中的一条记录返回并且以索引和关联数组的形式保存,MYSQL_BOTH,MYSQL_NUM,MYSQL_ASSOC

Mysql_fetch_object():将结果集中的一条记录以对象的形式进行返回

 

 

将结果集里面的所有数据都打印出来,需要外层使用一个while语句

  

将数据以表格的形式打印输出

 

⑤  关闭连接,释放资源

可以通过mysql_free_result()函数来释放资源

 

通过mysql_close来关闭数据库连接

 

 

接下来再介绍几个比较常用的mysql扩展函数

Mysql_field_name():获取字段名

Mysql_num_rows():获取结果集中行的数量

Mysql_num_field():获取结果集中列的数量

 

 

MySQLi

Mysqli是在mysql的基础上的一个升级。最大的改进在于采用面向对象的思想,之前的mysql是面向过程的,像c语言一样。

Mysqli虽然采用了面向对象的思想,但是仍然可以采用函数式编程

PHP访问MySQL数据库