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