270 likes | 570 Views
山东大学计算机科学与技术学院. 网 站 设 计 与 建 设 Website design and developments. 第三部分 网站设计技术. 第 23 章 PHP 与 MySQL 数据库. 概 述. MySQL 数据库的连结与关闭 新建与删除数据库 记录操作 字段操作. 1. 在 PHP 中访问 MYSQL 数据库的一般步骤. 建立到 MYSQL 数据库服务器的连接。 选择要访问的数据库。 执行 SQL 语句 存储查询结果 显示结果数据。 关闭到 MYSQL 数据库服务器的连接。. 2. MySQL 关系数据库的连结与关闭.
E N D
山东大学计算机科学与技术学院 网 站 设 计 与 建 设Website design and developments
第三部分 网站设计技术 第23章 PHP与MySQL数据库
概 述 • MySQL数据库的连结与关闭 • 新建与删除数据库 • 记录操作 • 字段操作
1. 在PHP中访问MYSQL数据库的一般步骤 • 建立到MYSQL数据库服务器的连接。 • 选择要访问的数据库。 • 执行SQL语句 • 存储查询结果 • 显示结果数据。 • 关闭到MYSQL数据库服务器的连接。
2. MySQL关系数据库的连结与关闭 • 非永久性连接: int mysql_connect(string [hostname][:port], string [username],string [password]); • 永久性连接 int mysql_pconnect(string [hostname][:port], string [username],string [password]); • 非永久性连接关闭 int mysql_close(连接句柄);
3.对数据库操作 • 指定数据库。 int mysql_select_db(数据库名,连接句柄); • 新建数据库格式: int mysql_create_db(数据库名,连接句柄); • 删除数据库格式: int mysql_drop_db(数据库名,连接句柄);
4.数据记录查询操作 • 格式1: int mysql_db_query(数据库名,查询语句,连接句柄); • 格式2: int mysql_select_db(数据库名,连接句柄); int mysql_query(查询语句,连接句柄);
图22.3 用函数mysql_db_query()对数据库进行查询 的PHP代码 4.数据记录查询操作(实例1)
图22.3用函数mysql_db_query()对数据库进行查询 的PHP代码 4.数据记录查询操作(实例1)
图22.4用用函数mysql_query()创建新表的PHP代码 图22.4用用函数mysql_query()创建新表的PHP代码 4.数据记录查询操作(实例2)
5.存储并显示查询结果 • 数组存储格式: array mysql_fetch_array(结果集,结果类型); • 类存储格式: object mysql_fetch_object(结果集,结果类型);
图22.5用函数mysql_fetch_array()将查询结果存为数组的PHP程序图22.5用函数mysql_fetch_array()将查询结果存为数组的PHP程序 5.存储查询结果—数组实例
5.存储查询结果 • 对查询结果的当前记录进行存储 • array mysql_fetch_row(int 结果); • 对查询结果中的某个具体的数据进行存储, • int mysql_result(int 结果,int 记录序号, mixed 字段); • 对查询所获取的结果的总数量进行统计 • array mysql_num_rows (int 结果); • 释放查询结果所占用的内存 • boolean mysql_free_result(int result);
图22.9 将查询到的记录条数和指定字段数据显示在网页中 图22.8 获取记录条数和指定字段数据的PHP程序 5.存储查询结果
图22.10加入了获取错误信息的操作的PHP程序 6.获取sql错误信息:错误代码、错误信息
7.数据库操作命令 • int mysql_list_dbs(连接句柄); 返回指定连接中的所有能用的数据库名称
图22.13 调用 mysql_tablename()函数代码 8.表操作命令 • int mysql_list_tables(数据库,连接句柄); • int mysql_tablename(list集,list序号);
9.记录操作命令 • int mysql_insert_id(连接句柄); • int mysql_affected_rows(连接句柄); • int mysql_data_seek(结果集,记录序号);
图22.14用函数mysql_fetch_field()获取指定字段所有信息图22.14用函数mysql_fetch_field()获取指定字段所有信息 10.字段操作命令 • 获取指定字段所有信息 object mysql_fetch_field(结果集,字段序号);
10.字段操作命令 • 获取指定字段特征信息 string mysql_field_flags(结果集,字段序号); • 获取指定字段的字段名 string mysql_field_name(结果集,字段查询序号); • 获取指定字段的“表”的名称 int mysql_field_table(结果集,字段序号);
10.字段操作命令 • 获取指定字段的字段类型 string mysql_field_type(结果集,字段序号); • 获取指定字段的字段长度 int mysql_field_len(结果集,字段序号); • 获取最后一次fetch的各个字段的最大长度 array mysql_fetch_lengths(结果集);
图22.15 调用mysql_list_fields()函数的代码 10.字段操作命令 • 获取指定数据库指定表的所有字段信息 int mysql_list_fields(数据库,表,连接句柄); • 获取查询结果集中所含字段的数量 int mysql_num_fields(结果集);
图22.16 调用mysql_list_fields()函数的代码 图22.17 将查询结果集中所含字段的数量和字段的相关信息显示在网页中 10.字段操作命令
第22章 思考问题 • 在PHP中访问MYSQL数据库的一般步骤是什么? • 在PHP中对MYSQL数据库的连接有哪两种,使用的函数分别是什么? • 在PHP中对MYSQL数据库查询结果的存储的方式有哪两种? • 在PHP中用来获得指定数据库中所有数据库表的名称的函数是什么? • PHP对MySQL数据库的操作完成后,为什么要有关闭“连接”? • 网页的代码哪些在服务器端运行,哪些在客户端运行? 结 束