实例详细讲解PHP连接调用数据库的方法.doc_第1页
实例详细讲解PHP连接调用数据库的方法.doc_第2页
实例详细讲解PHP连接调用数据库的方法.doc_第3页
全文预览已结束

下载本文档

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

文档简介

实例详细讲解PHP连接调用数据库的方法 MySQL访问函数都需要有相应的权限才能运行。常用的相关函数介绍如下: (1)integer mysql_connect(主机,用户名,口令); 此函数开始一个对指定主机上的MySQL数据库的连接。若该数据库位于一个不同地端口,则在主机名后加上冒号和端口号。所有参数均为可选的,缺省情况下分别对应为本地主机、用户正在执行的脚本名和空。主机可以是IP地址或域名。 在脚本执行结束时,连接被自动关闭,也可以用mysql_close提前关闭。 (2)boolean mysql_create_db(数据库名); 创建一个数据库。注意必须用一个带有创建数据库许可权的帐号打开连接。 (3)boolean mysql_select_db(数据库名,连接号); 选择缺省数据库。 (4)integer mysql_query(SQL语句,连接号); 对指定数据库进行查询。如果SQL语句是select,则返回一个结果号,否则返回的值可以不理会。如果失败,返回false.。 (5)array mysql_fetch_array(结果号); 取出下一行,返回一个数组。可以用数字下标访问(第一个字段是下标 0),也可以用字符串下标访问(即使用各字段名)。如已取了最后一行,返回 false.。 (6)mysql_fetch_row(结果号); 返回一个矩阵代表结果集中一行的所有域。每次调用都会产生下一行,直到没有行剩下时返回false.每个域值都由一个从零开始的偏移量索引。这是从查询中获取结果的最快方法。 (7)integer mysql_num_rows(结果号); 返回结果集中行的数目 (8)integer mysql_num_fields(结果号); 返回结果集中域的数目。 (9)integer mysql_list_dbs(); 向服务器查询数据库列表。它返回一个结果指针,该指针可用于mysql_fetch_row函数及类似函数。 (10)mysql_list_tables(数据库名); 获取一个指向指定数据库的表单列表的结果指针。该结果指针可用于任何从结果集中获取行的函数。 (11)mysql_close(连接号); 关闭对数据库的连接。连接必须是由mysql_connect打开的。该函数的使用不是严格必需的,因为在脚本结束时,所有非永久链路都会被自动关闭。 (12)mysql_pconnect(主机,用户名,口令); 与mysql_connect完全相似,但建立一个永久连接,该连接一经建立永不关闭,即使使用mysql_close函数或程序执行完毕也不关闭。下一次试图建立永久连接时,系统如发现已存在一个永久连接,则直接返回该连接号而不重新创建。 下面是一个调用MYSQL数据库并分页显示的例子。 ? $pagesize = 5; /每页显示5条记录 $host=localhost; $user=user; $password=psw; $dbname=book; /所查询的库表名; /连接MySQL数据库 mysql_connect($host,$user,$password) or die(无法连接MySQL数据库服务器!); $db = mysql_select_db($dbname) or die(无法连接数据库!); $sql = select count(*) as total from pagetest;/生成查询记录数的SQL语句 $rst = mysql_query($sql) or die(无法执行SQL语句:$sql !); /查询记录数 $row = mysql_fetch_array($rst) or die(没有更多的记录!); /取出一条记录 $rowcount = $rowtotal;/取出记录数 mysql_free_result($rst) or die(无法释放result资源!); /释放result资源 $pagecount = bcdiv($rowcount+$pagesize-1,$pagesize,0);/算出总共有几页 if(!isset($pageno) $pageno = 1; /在没有设置pageno时,缺省为显示第1页 if($pageno$pagecount) $pageno = $pagecount; /若pageno比总共的页数大,则把它设置为最后一页 if($pageno0) $href = eregi_replace(%2f,/,urlencode($PHP_SELF);/把$PHP_SELF转换为可以在URL上使用的字符串,这样的话就可以处理中文目录或中文文件名 if($pageno1)/显示上一页的裢接 echo 上一页 ; else echo 上一页; for($i=1;$i$pageno;$i+) echo . $i . ; echo $pageno . ; for($i+;$i=$pagecount;$i+) echo . $i . ; if($pageno$pagecount)/显示下一页的裢接 echo 下一页 ; else echo 下一页 ; $offset = ($pageno-1) * $pagesize;/算出本页第一条记录在整个表中的位置(第一条记录为0) $sql = select * from pagetest LIMIT $offset,$pagesize;/生成查询本页数据的SQL语句 $rst = mysql_query($sql);/查询本页数据 $num_fields = mysql_num_fields($rst);/取得字段总数 $i = 0; while($i$num_fields)/取得所有字段的名字 $fields$i = mysql_field_name($rst,$i);/取得第i+1个字段的名字 $i+; echo ;/开始输出表格 echo ; reset($fields); while(list(,$field_name)=each($fields)/显示字段名称 echo $field_name; echo ; while($row=mysql_fetch_array($rst)/显示本页数据 echo ; reset($fields); while(list(,$field_name)=each($fields)/显示每个字段的值 $field_value = $row$field_name; if($field_value=) echo ; else echo $field_value; echo ; echo ;/表格输出结束 mysql_free_result($rst) or die(无法释放result资源!);/释放result资源 else echo 目前该表中没有任何数据!; mysql_close($server) or die(无法与服务器断开连接!);/断开连接并释放资源 ?开放数据库连接(ODBC)已成为一种与数据库进行通信的工业标准。PHP也提供了标准的接口,使得PHP能调用Access,SQL SERVER等数据库。其相关函数是: (1)integer odbc_connect(string dsn, string user, string password) 连接到一个ODBC数据库源名字上。(2)integer odbc_exec(integer connection, string query)或 odbc_do(integer connection, string query) 在一个连接上执行查询。(3)boolean odbc_fetch_row(integer result, integer row) 从一个结果集中获取一行数据。Row参数是可选的,若为空缺,则返回下一个有效行。在结果集中不再剩余行时返回false。(4)boolean odbc_close(integer connection)关闭一个数据库的连接。若在该连接上有打开的事务,则返回一个错误,而且连接不会被关闭。最后,还是看个分页的例子: 0) echo 首页;echo 前页;if ($pages $nnn) echo 后页;echo 尾页;echo 共.$nnn.页;$query_string = SELECT * F

温馨提示

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

评论

0/150

提交评论