5与MySQL建立网页资料库.ppt_第1页
5与MySQL建立网页资料库.ppt_第2页
5与MySQL建立网页资料库.ppt_第3页
5与MySQL建立网页资料库.ppt_第4页
5与MySQL建立网页资料库.ppt_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第13章PHP 5和MySQL制作了网页数据库, 13-1 PHP和MySQL的基础13-2数据库链接的开闭13-3执行数据表查询13-4取得数据表和字段信息13-5取得数据表的记录数据13-6使用表页面显示记录数据13-7面向对象接口的数据QL的基础-通常,PHP技术与MySQL数据库系统组合创建web数据库,从90年代中期开始,ext/MySQL扩展程序通过PHP和MySQL数据库之间的桥梁,用PHP程序建立MySQL数据库但是,在PHP 5和MySQL 4.1之后,ext/MySQL扩展程序的兼容性问题突出了。 由于ext/mysql不支持mysql 4.1或更高版本的新功能,因此地理位

2、置支持PHP 5的新mysql扩展程序称为ext MySQL4. 1或更高版本的新功能、13-1 PHP和MySQL基础-特征1、可维护性和高度MySQL需要以复杂的方式使用MySQL的新功能,而ext/mysqli可以轻松创建,提高和增强ext/安全性: ext/mysqli的运行速度比旧版本的ext/mysql快40倍,而且更新版本、13-1 PHP和MySQL的基础-特征2、相同的程序化接口:使用类似于ext/mysql的函数调用,大多数ext/mysqli函数具有对应的旧版本ext/mysql的版本,而旧版本的函数名称是什么? 什么? 新版是I字母的mysqli_? 什么? 什么? 是

3、() 面向对象的使用接口ext/mysqli的新版本提供了面向对象的使用接口,使您能够以对象方式访问MySQL数据库。 支持更新版本的MySQL的协议: MySQL 4.1或更高版本提供了更新的协议。 这是一种协议,与早期版本相比,它提供了更高效、更多的功能,如Prepared Statement访问数据库。 打开/关闭13-2数据库链接,打开/关闭13-2-1mysql数据库链接13-2-2打开/关闭指定的数据库链接获取13-2-3mysql服务器信息,13-2-1mysql数据库链接的关闭-创建数据库链接在PHP程序中调用mysqli_connect ()函数打开MySQL数据库链接,如$

4、 link=mysqli _ connect (本地主机,/MySQL主机名root ),然后创建/缺省使用的数据库名称、13-2-1mysql数据库链接的打开/关闭-错误处理、if (! 链接错误代码:mysqli_connect_errno (); echo链路错误消息:mysqli_connect_error (); exit (); else /MySQL数据库链接成功,13-2-1打开/关闭MySQL数据库链接错误处理程序函数,mysqli_connect_errno ()和mysqli_connect。 13-2-1打开/关闭MySQL数据库链接-关闭数据库链接。 打开数据库链接后

5、,如果不再需要访问mysql数据库,PHP程序将调用mysqli_close ()函数以有效利用服务器的内存资源上述函数的残奥参数为mysqli_close13-2-2打开指定的数据库。 PHP程序提供了一个数据库,mysqli_select_db ()函数除了可以使用mysqli_connect ()函数的第四个残奥元指定默认访问权限外,还提供了一个数据库,mysqli_select_db ()函数可以选择或修改默认访问权限); else echo数据库: $dbname已打开。13-2-3取得MySQL服务器信息,PHP的ext/MySQLi扩展功能提供能够取得MySQL服务器等信息的函数

6、,其说明如下表所示:13-3执行数据表查询,13-3-1执行数据表的日志在第14章中对SQL语法进行了详细说明,为了使测试变得容易,在以前的程序例中,$sql=“SELECT * FROM students”; 上述SQL命令字符串获取students数据表中的所有字段和日志数据。 查询13-3-1数据表的记录数据-执行sql命令的数据表查询,通过PHP程序调用mysqli_query ()函数,执行残奥仪表的sql命令查询数据表,如下所示可以将结果对象视为使用表保存的记录数据,如下图所示。 如果每个表列对应一个记录字段,而每一行都是一条记录。如果将中文字段的值存储在数据表中,则PHP程序在执

7、行SQL查询之前,先查询mysqli_query($link,SET CHARACTER SET big5); mysqli_query($link,set collation _ connection=big5_ Chinese _ ci ) :查询13-3-1数据表的日志数据-获取结果对象的日志和字段值,并使用PHP程序笔者计划调用mysqli_fetch_assoc ()函数,将查询结果的各记录存储在关联数组中: while ($ row=mysqli _ fetch _ assoc ($ result,13-3-1数据表) 数据表查询结果的对象占用服务器的内存空间,如果不再需要查询结果

8、,请使用PHP程序释放占用的内存空间,以免浪费服务器的宝贵资源。 PHP程序调用mysqli_free_result ()函数以释放结果对象占用的内存空间。 mysqli _ free _ result ($结果);13-3-2 mysql操作的错误处理、PHP的ext/MySQLi扩展提供MySQL操作的错误函数,可以在执行数据库访问时取得更多的错误信息。 关联函数的说明如下表所示,13-4是数据表和字段信息,13-4-1是字段数和记录数13-4-2是字段信息,13-4-1是字段数和记录数,PHP的ext/mysqli PHP程序是, 可以调用mysqli_fetch_field ()函数以

9、获取有关字段的信息的对象,例如while ($ meta=mysqli _ fetch _ field ($ result )。echo.$ meta-table . 美女-最大长度。 echo.$中介类型。 获取13-4-2字段信息-成员变量mysqli_fetch_field ()函数的门限值是对象,成员变量可以获取字段信息。常用成员变量的说明如下表所示,13-5取得数据表的记录数据,13-5-1是单一记录的索引数组、13-5-2移动记录指标、13-5-3是将记录存储在数组中,13-5-1是单一记录的索引for ($i=0; 下一个。 echo; 移动13-5-2记录指针。 默认情况下,P

10、HP查询结果对象指向内部记录指针当前读取的记录的位置,并且在访问索引数组的同时调用mysqli_data_seek ()函数、13-5-3将记录存储在数组中-说明,PHP的mysqli_fetch_array ()函数不仅可以读取单个记录并将其存储在索引数组中,还可以存储在以字段名为关键字值的关联数组中。 mysqli_fetch_array ()函数的第二个关残奥参数允许您指定要存储的数组类型,如while ($ rows=mysqli _ fetch _ array ($ result )。 记录使用索引值获取字段值: echo $rows0 MYSQLI_ASSOC :保存为以字段名为关

11、键字的关联数组,并像mysqli_fetch_assoc ()函数一样执行: 唱片是echo .$rowsstdno . MYSQLI_BOTH :保存为索引和关联数组。 也就是说,记录可以任意选择使用索引或字段名的键值获取字段值。 使用13-6表页显示记录数据-查询结果的记录数据多的情况下,不想在同一页的页上显示所有的记录。 可以使用表页方式显示记录数据,通过超链接切换显示指定页号、上一页或下一页的记录数据。 PHP程式会使用超连结的URL残奥仪表,传递目前网页上显示的页码。 URL残奥计量器Pages引用程序的URL网站: http:/本地主机/ch13/ch13-6.PHP? Pages

12、=2上述URL残奥仪表Pages为当前页码2。使用13-6表的分页符显示记录数据-可以使用URL残奥仪表获取当前的页码,在PHP程序的开头获取残奥仪表的页码,并指定每页要显示的记录数: $records_per_page=2; /url残奥表的页数if (isset ($ _ getpages ) ) $ pages=$ _ getpages; else $pages=1;使用13-6表页面显示记录数据-修正总页数和指针位置后,可以调用mysqli_num_fields ()获取字段数和mysqli_num_rows ()函数获取记录数,如下所示: 接下来,请参见:总记录=mysqli _ n

13、um _ rows (结果) : 关闭=($页面-1) * $ records _ per _页面。 mysqli_data_seek($result,$offset ) :使用13-6表页面显示日志数据-显示页面的日志数据,$ j=1while ($ rows=mysqli _ fetch _ array ($ result,mysqli _ ) for ($i=0; 罗伯特罗伯特: echo; $j;13-6使用表分页符查看日志数据-显示上一页和下一页的超链接,显示if ($pages 1 ) /上一页echo的上一页|; if ($pages下一页; 使用13-6表的分页符显示记录数据for ($i=1; 我的意思是: else echo $i . 打开13-7面向对象接口的数据库访问-数据库链接。 PHP的ext/mysqli扩展可以使用函数访问数据库,也可以使用面向对象的接口访问数据库: $mysqli=newmysqli上述代码可以使用new运算符访问$mysqli 这是一个与调用mysqli_connec

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论