PHP第9周讲义连接MySQL

上传人: y****g 文档编号:131872940 上传时间:2020-05-10 格式:DOCX 页数:5 大小:39.39KB
返回 下载 相关 举报
PHP第9周讲义连接MySQL_第1页
第1页 / 共5页
PHP第9周讲义连接MySQL_第2页
第2页 / 共5页
亲,该文档总共5页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《PHP第9周讲义连接MySQL》由会员分享,可在线阅读,更多相关《PHP第9周讲义连接MySQL(5页珍藏版)》请在金锄头文库上搜索。

1、PHP连接MySQLphp中都是用函数来操作相应的数据库,其常用函数包括:1、mysqli_connect:连接PHP到MySQL数据库的连接使用格式:mysqli_connect(“主机名”,”MySQL用户名”,”MySQL密码”)因为这不是MySQL命令,而是PHP程序语句,所以注:一般主机名为:localhost,MySQL用户名和密码的自行安装MySQL时可以设置,WAMP下用户名一般为:root,密码为空,即用法多数情况下为:mysqli_connect(“localhost”,”root”,”)2、为了程序严谨,要考虑到如果连接不成功时给出提示代码可进行如下设置$link = m

2、ysqli_connect(localhost,root,);if (!$link)exit (连接失败!);为了不出现浏览器本身产生的错误的干扰,则用符号来抑制错误信息。即:$link = mysqli_connect(localhost,root,123);3、为了保证对中文字符的支持,最好输入以下代码语句mysqli_set_charset(连接变量,”utf8”);4、mysqli_select_db()连接MySQL中的子数据库。用法为:mysqli_select_db($link, “子数据库名”); 注:$link为前面mysql_connect赋给的变量名,如果用了另一变量名,

3、则要做适当改变。实例:mysqli_select_db(“liuwu01”,$link);5、mysqli_query():执行相应的SQL语句(向数据库发送一条命令)注:SQL语句是用字符串的方式表示。$sql=” select * from info”;mysqli_query($link,$sql);利用以上知识我们已经可以在PHP中实现增、删、改的操作,那么如何实现“查”的功能,即在页面中显示指定记录或指定字段的内容。6、mysqli_fetch_array():从结果集中取得一行作为数组。在执行了sql命令:$sql = select * from info01;$result =

4、mysql_query($sql);后,mysql_query()只是产生一个将查询结果集,并赋给$result变量,但并不在页面中显示。我们可以用mysql_fetch_array()函数将查询到的结果放到一个数组中,即使用格式:$rs = mysql_fetch_array($result);此时就将结果放到一个数组$rs中,即$rs数组中就存放了某条记录的各字段内容,我们可以通过显示数组元素的方法将其显示出来。print_r($rs);运行后的显示结果为:即各数组元素就是相应字段的值。如果我们用语句:echo “姓名:”.$rs1;或echo “姓名:”.$rsname;,则页面显示:其

5、余字段依此类推。那么在后面再加上一条$rs = mysql_fetch_array($result);此时则将结果集向后移动一个记录,即将记录指针向后移动一条。即语句:$rs = mysql_fetch_array($result);echo 姓名:.$rsname.;$rs = mysql_fetch_array($result);echo 姓名:.$rsname.;则显示:那么显然,我们使用循环语句即可在页面中输出整个数据库表。for ($i=1;$i=3;$i+)$ result = mysql_fetch_array($obj);for($j=0;$j=7;$j+)echo $ res

6、ult $j;echo ;则显示结果为:那么我们如果不知道有几条记录呢?我们可以使用以下语句:while($result = mysqli_fetch_array($obj)for($j=0;$j=7;$j+)echo $ result $j;echo ;即:当读到记录末尾时,mysql_fetch_array($result)的值为false,循环终止。mysqli_num_rows();获得select语句执行后的记录条数。mysqli_num_fields();获得select语句执行后的字段数量。例:显示代码:$result = mysqli_query($sql);$count_fi

7、eld= mysqli_num_ fields($result);$count_record= mysqli_num_rows($result);echo “这张表有”.$count_field.”个字段”;echo “这张表有”.$count_record.”条记录”;的运行结果。mysqli_close($link);:关闭数据库。下面我们来讨论一下如何分页显示表中的记录:基本用法:select * from 表名 limit 整型数n1 整型数n2即显示从第n1条记录开始的n2 条记录,注意:n1是起始位置,n2是记录条数,不是终了位置。如对于某张数据库表,代码:$link = mysq

8、l_connect(localhost,root,) or die (连接错误.mysql_error();mysql_select_db(liuwu01,$link);mysql_query(set names utf8);$sql = select * from info;$result = mysql_query($sql);while ($rs = mysql_fetch_array($result)echo $rs0.t.$rs1.;显示的结果为:即所有记录,如果将第4行改为:$sql = select * from info limit 0,5;则其显示结果为:即从第1第记录开始的

9、5条记录,此时可以不断改变两个数值,观察显示结果。所以分页显示记录的原理为:用总记录数(mysql_num_rows())除每页记录数(自定义)得到页数,而limit n1 n2中的n1即为:(当前页序号-1)*每页记录数可通过下表理解:假设20条记录,每页显示5条limit语句当前页数n1limit 0,51(1-1)*5limit 5,52(2-1)*5limit 10,53(3-1)*5limit 15,54(4-1)*5而当前页序号,则可以通过get方式从写在超链接的地址栏中获取,即:文件名?page=当前页数:来实现。其参考代码如下:(文件名:page.php)?php$link =

10、 mysql_connect(localhost,root,) or die (连接错误.mysql_error();mysql_select_db(liuwu01,$link);mysql_query(set names utf8);$pagesize=3; /每页显示3条记录$rowcount=0; /先初始化总记录数量$pagenow=1; /初始化当前页序号if(!empty($_GETpagenow)$pagenow=$_GETpagenow; /如果没有在地址栏中指定页数,则默认为第一页$pagecount=0; /初始化总页数$sql=select * from info;$re

11、sult = mysql_query($sql);$rowcount=mysql_num_rows($result); /得到总记录数$pagecount=ceil($rowcount/$pagesize); /计算出页数$pre=($pagenow-1)*$pagesize;$sql1=select * from info limit $pre,$pagesize;$rs2=mysql_query($sql1);while ($row=mysql_fetch_array($rs2)echo $row0.t.$row1.;?至此为止,只在地址栏输入:php?pagenow=n1即可显示指定页下面我们在页面中制作链接数字for ($i=1;$i=$pagecount;$i+)echo .$i.   ;上机练习:制作一个简单的通讯页面,页面1可以输入姓名、电话号码、工作单位、QQ号等,填写后可以将这些数据输入到数据库中,并在页面2中显示所有记录,页面3可以通过输入姓名的方法查询记录,在页面4中如果页面3中的姓名不存在,则显示查无此人,如果有,则显示其电话号码和工作单位。

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

当前位置:首页 > IT计算机/网络 > PHP资料

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