数据库编程技术课件

上传人:我*** 文档编号:141795870 上传时间:2020-08-12 格式:PPT 页数:15 大小:36.50KB
返回 下载 相关 举报
数据库编程技术课件_第1页
第1页 / 共15页
数据库编程技术课件_第2页
第2页 / 共15页
数据库编程技术课件_第3页
第3页 / 共15页
数据库编程技术课件_第4页
第4页 / 共15页
数据库编程技术课件_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《数据库编程技术课件》由会员分享,可在线阅读,更多相关《数据库编程技术课件(15页珍藏版)》请在金锄头文库上搜索。

1、数据库编程技术,本章内容,掌握PHP连接MySQL函数 掌握在PHP中对数据进行增删改查函数 掌握如何在PHP中显示数据库信息 掌握如何对数据库进行复杂的查询 掌握分页显示技术,数据库编程技术,PHP操纵MySql数据库 建立与mysql数据库的连接 PHP连接数据库的方法很简单,应用mysql_connect()函数即可。语法:$conn=mysql_connect(hostname,username,password) 参数hostname:mysql服务器地址,包括:地址和端口号,默认 mysql服务器端口号为3306 参数username:登录mysql数据库的用户名 参数passwo

2、rd: 用户密码 如果连接成功,则函数返回一个资源,为以后执行sql指令做准备 例子:连接数据库 选择和使用mysql数据库 连接数据库成功后,就要选择所要使用的数据库了,这里使用,数据库编程技术,mysql_query()函数,格式如下: mysql_query(“use db_name”); 参数db_name:为要使用的数据库的名字。选择数据库还可以使用mysql_select_db()函数,格式如下: mysql_select_db(“db_name”); mysql函数是查询指令的专用函数,所有的sql语句都通过它执行,并返回结果集。 mysql_query()函数是打开数据库的专用

3、函数。两者在使用上没有区别。 例子:连接并打开数据库 关闭数据库 在数据库操作完成后,一定要使用mysql_close()函数关闭已经打开的数据库连接。该函数可以提供一个数据库连接的标识符,在前面的例子中,这个标识符是资源变量$conn,也可以不提供数据库连接标识,那么系统将关闭前一次打开的数据库连接。,数据库编程技术,当脚本结束后,PHP 引擎会自动关闭 MySQL 的连接,所以 close 你可以不用。当然,用是个好习惯。只有使用php永久连接(mysql_pconnect)才会在脚本结束后不关闭数据库连接! 持久数据库连接 持久连接是指在php脚本结束运行时不关闭的连接。当接收到一个持久

4、连接的请求时,php将检查是否已经存在一个相同的持久连接。所谓相同的连接是指用相同的用户名和密码到相同的主机的连接。如果存在,将直接使用这个连接;如果不存在,则建立一个新的连接。 数据库的持久连接并没有提供任何的附加功能,唯一的优势就是提高了运行效率。当mysql数据库和web服务器不在同一台服务器上时,客户端对服务器的连接请求也非常频繁,这时使用持久连接将更加的高效。,数据库编程技术,在非持久连接情况下,每次处理一个页面时,都要向mysql服务器提出连接请求(即:每个php页面都要执行一次连接数据库的操作)。而持久连接将使得每个子过程,在其生命周期中只做一次连接操作(即:在连接网站到离开网站

5、这段时间无论访问多少个页面都执行一次连接操作)。也就是说,每个子过程将对服务器建立各自独立的永久连接。 使用mysql_pconnect()函数可以打开一个到数据库的持久连接。该函数与mysql_connect()函数原型是一致的。 注意:当连接的时候,本函数将先尝试寻找一个在同一主机上,用同样的用户名和密码已经打开的持久连接,如果找到,则返回此连接的标识而不打开新连接。当脚本执行完毕后,到mysql服务器的连接不会被关闭,此连接将保持打开状态以备后用。就是说:使用mysql_close()函数不会关闭由本函数建立的连接。,数据库编程技术,发送数据库查询语句 数据库连接后,就可以使用mysql

6、_query()函数进行各种sql查询操作。 resource mysql_query(string $query,resource $connect_link) 该函数向指定服务器的当前活动数据库发送一条查询,服务器的连接标识由参数$connect_link指定。如果没有指定$connect_link 则使用上一个打开的连接。$query参数给出一个查询字符串。查询字符串不以分号结束,其查询结果会被缓存。 mysql_query()函数可以用于执行各种sql查询语句。 该函数对select语句返回一个资源标识符,如果查询执行不正确则返回false。对于其他的sql语句,mysql_query

7、()在执行成功时返回true,出错时返回false。,数据库编程技术,数据查询与记录行 在数据库操作中,最经常的应用是对数据库的查询操作。在php中,要获取select语句查询的结果可以使用mysql_result()函数,也可以使用更为高效的记录行操作函数:mysql_fetch_row()、mysql_fetch_assoc、mysql_fetch_array()、mysql_fetch_object() 等。 取得结果单元、 mysql_result()函数可以返回mysql结果集中一个单元的内容。 mixed mysql_result(resource $result,int $row

8、,mixed $field) 参数$result是由mysql_query()函数返回的结果集的资源标识。$row和$field分别指定了记录行和列(字段)。行参数是一个数字,由0开始。字段参数可以是字段的偏移量,字段名,或者是完整字段名(如:表名.字段名的格式)可选字段参数默认值为0,也就,数据库编程技术,是说这将返回select语句中,字段列表中的第一个字段的值。 在mysql_result()函数中,如果给出的行参数大于返回结果集的总行数,将返回false。 例子:应用mysql_result()函数 例子:遍历数据表取值 取得记录行 当作用于很大的结果集时应该考虑使用能够取得整行的函数

9、。这些函数在一次函数调用中返回了多个单元的内容,比mysql_result()函数快得多。 array mysql_fetch_assoc(resource $result); array mysql_fetch_row(resource $result); array mysql_fetch_object(resource $result); array mysql_fetch_array(resource $result,int $result_type);,数据库编程技术,这些函数的行为是相似的,对于任何一个函数,在调用之后将返回结果集中的下一行记录,如果没有更多则返回false。 my

10、sql_fetch_row()函数从指定结果集$result中,取得一行数据并作为数组返回。每个结果的列存储在一个数组的单元中,偏移量从0开始,字段名为“数字”。 例子:应用mysql_fetch_row()函数 mysql_fetch_assoc()函数从指定结果集$result中取得一行数据并作为数组返回,每个结果的列存储在一个数组的单元中,其字段名为“键名”。 例子:应用mysql_fetch_assoc()函数 mysql_fetch_array()函数和mysql_fetch_row()还有mysql_fetch_assoc()类似,唯一不同就是该函数可以通过参数选择返回数组的字段名

11、是”数字”还是“键名”。,数据库编程技术,$result_type参数为MYSQL_NUM时得到数字数组,为MYSQL_ASSOC时得到键名数组,为MYSQL_BOTH时得到包含以上两者的数组,默认是MYSQL_BOTH 。 例子:应用mysql_fetch_array()函数 取得记录的行数 使用mysql_num_rows()函数可以取得查询结果集中的记录的行数 语法:int mysql_num_rows(resource $result); 注意:该函数可以替代之前的select count(*) 例子:应用mysql_num_rows()函数 数据编辑 在数据库中,常用的数据操作还包括

12、:记录的增删改查 影响记录的行数,数据库编程技术,在使用mysql_query()函数对数据进行增删改查等操作后,可以用 mysql_affected_rows()函数获取所影响的记录行数。 语法:int mysql_affected_rows(resource $connect_link); 该函数返回应用insert、update、delete语句查询所影响的记录的行数。$connect_link参数是最近一次的数据库连接句柄。如果没有指定,则默认为最近一次由mysql_connect()函数打开的连接句柄。该函数并不适合用于select语句。应该使用mysql_num_rows 来获得由

13、select语句所返回的记录行数。 mysql_affected_rows()函数会返回数据修改语句所影响的记录数,是一个非负整数。如果最近一次查询失败的话,函数返回-1 例子:应用mysql_affected_rows()函数实例,数据库编程技术,注意:如果最近一次操作是没有任何条件的(即没有where子句)的delete语句,表中的所有记录都会被删除,该函数返回0。因此,要获取删除的记录数必须加上where子句,如:where 1=1 同样是可以删除所有表中数据但可以返回删除的记录数。 例子:删除的记录数 注意:当使用update查询时,mysql不会将原值和新值相同的列更新,这使得mys

14、ql_affected_rows()函数返回值不一定就是符合查询条件的记录数,只有真正被修改的记录数才会被返回。 例子:更新的记录数 返回自增的ID 如果表中存在自增的字段(AUTO_INCREMENT),很多情况下,需要查看由上一步insert插入语句产生的自增id号。这时可以使用mysql_insert_id()函数。,数据库编程技术,语法:int mysql_insert_id(resource $connect_link); 如果上一查询没有产生AUTO_INCREMENT的值,则该函数返回0 如果需要保存该值,要确保在产生了值的查询之后立即调用 mysql_insert_id()。

15、例子:应用mysql_insert_id()函数 注意:该函数返回的类型是int型,如果AUTO_INCREMENT字段的类型是bigint型,则该函数会出问题,需要用last_insert_id()替代! 字段的相关函数 int mysql_num_fields(resource $result) 该函数将取得结果集中字段的数目。 例子:查询字段数量,数据库编程技术,Object mysql_fetch_field(resource $result,int $field_offset) 其中$result参数是由执行特定查询语句返回的结果集。 $field_offset参数指定字段的偏移量。如果没有指定字段的偏移量,则提取下一个存在的字段(即:每提取一个字段后指针自动向后移一位,如需获取表的全部字段名可以利用while)。该函数返回一个包含字段信息的对象。 例子:输出所有字段的对应信息(见黄皮书P315表12.8) Mysql_fetch_row($result) 该函数可以一次输出一条记录 例子:应用mysql_fetch_row函数,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号