电力出版社《PHP+MySQL开发实例教程》全套课件(第8章)_第1页
电力出版社《PHP+MySQL开发实例教程》全套课件(第8章)_第2页
电力出版社《PHP+MySQL开发实例教程》全套课件(第8章)_第3页
电力出版社《PHP+MySQL开发实例教程》全套课件(第8章)_第4页
电力出版社《PHP+MySQL开发实例教程》全套课件(第8章)_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

PHP+MySQL开发实例教程ISBN号:978-7-5083-7194-8作者:毛书朋聂庆鹏653工程指定教材第8章PHP+MYSQL数据库编程

8.1连接数据库前的准备工作8.2PHP操作MYSQL数据库的流程8.3PHP操作MYSQL方法详解8.4边学边做:用MySQL改写用户注册与登陆程序8.5本章小结8.6练习题8.1连接数据库前的准备工作

从PHP5开始,不知道出于什么考虑,PHP开发者放弃了对MySQL的默认支持,而是放到了扩展函数库中。因此要使用MySQL函数,需要首先开启MySQL函数库。打开php.ini,找到“;extensions=php_mysql.dll”,将此行面前的分号“;”去掉,保存之后重新启动IIS/APACHE。8.2PHP操作MYSQL数据库的流程从根本上来说,PHP是通过预先写好的一些列函数来与MySQL数据库进行通信,向数据库发送指令、接收返回数据等都是通过函数来完成。图9-1给出了一个普通PHP程序与MySQL进行通信的基本原理示意图。8.2PHP操作MYSQL数据库的流程8.2PHP操作MYSQL数据库的流程上图展示了PHP程序连接到MySQL数据库服务器的原理。可以看出,PHP通过调用自身的专门用来处理MySQL数据库连接的函数,来实现与MySQL通信。而且,PHP并不是直接操作数据库中的数据,而是把要执行的操作以SQL语句的形式发送给MySQL服务器,由MySQL服务器执行这些指令,并将结果返回给PHP程序。MySQL数据库服务器可以比作一个数据“管家”。其他程序需要这些数据时,只需要向“管家”提出请求,“管家”就会根据要求进行相关的操作或返回相应的数据。8.2PHP操作MYSQL数据库的流程8.2PHP操作MYSQL数据库的流程明白了PHP操作MySQL的流程,我们就很容易掌握PHP操作MySQL的相关函数。因为以上几乎每一个步骤,都有相应的函数与之对应。开发PHP数据库程序时,只需要按照流程调用相关函数,数据库操作便可轻松实现。8.3PHP操作MYSQL方法详解

8.3.1PHP操作MySQL常用函数PHP中可以用来操作MYSQL数据库的函数见表8-1:(详见自编教材)这些函数中,最常用的有mysql_connect()、mysql_select_db()、mysql_query()、mysql_fetch_array()、mysql_num_rows()、mysql_close()等。下面我们就着重介绍这几个函数的使用。8.3PHP操作MYSQL方法详解

8.3.2PHP对MySQL数据库的操纵

1、mysql_connect()函数resourcemysql_connect(stringserver,stringusername,stringpassword)该函数返回类型为resource型,即资源型。三个参数分别为MySQL服务器地址、MySQL用户名、密码。这里的用户名可以用超级管理员的,也可以用用户表中存在的其他用户。如下面的语句将用超级管理员身份建立一个到本地服务器的连接:例:$id=mysql_connect(“localhost”,”root”,”1234”);8.3PHP操作MYSQL方法详解

8.3.2PHP对MySQL数据库的操纵1、mysql_connect()函数<?php$id=mysql_connect(“localhost”,”root”,”1234”);echo$id;?>8.3PHP操作MYSQL方法详解

8.3.2PHP对MySQL数据库的操纵1、mysql_connect()函数如果出现下列提示:Warning:mysql_connect()[function.mysql-connect]:UnknownMySQLserverhost[…]则说明MySQL服务器地址错误,可能是输入有错误,或者服务器没有启动,或者端口号不对。这时可以检查函数的第一个参数是否提供正确,MySQL是否已成功启动。8.3PHP操作MYSQL方法详解

8.3.2PHP对MySQL数据库的操纵

1、mysql_connect()函数还有可能出现下列提示:Warning:mysql_connect()[function.mysql-connect]:Accessdeniedforuser[…]这说明用户名或密码有错误。或者本帐号没有在本MySQL服务器上登陆的权限。我们这里之所以如此详细地讲解该函数,就是因为这时连接到MySQL数据库的第一步。只要这一步成功了,那么下面的所有函数便都能运行。连接到数据库是一切工作的起点。因此必须保证此步骤成功,才能继续下面的内容。

8.3PHP操作MYSQL方法详解

8.3.2PHP对MySQL数据库的操纵2、mysql_select_db()函数

例:文件8-1.php:连接到MySQL数据库服务器并选择数据库8.3PHP操作MYSQL方法详解

8.3.2PHP对MySQL数据库的操纵3、mysql_query()函数例:文件8-2.php:用PHP程序创建新数据库和表例:文件8-3.php:用PHP向表中插入数据例:文件8-4.php:用PHP从表中读出数据

8.3PHP操作MYSQL方法详解

8.3.2PHP对MySQL数据库的操纵arraymysql_fetch_array(resourceresult[,intresult_type])

该函数的作用是,读取记录集result中的当前记录,将记录的各个字段的值存入一个数组中,并返回这个数组,然后将记录集指针移动到下一条记录。如果记录集已经到达末尾,则返回false。arraymysql_fetch_array(resourceresult[,intresult_type])

第二个参数result_type为可选,此参数用来设置返回的数组采用什么样的下标。有三个备选值:MYSQL_ASSOC、MYSQL_NUM、MYSQL_BOTH。三个参数的含义如下:8.3PHP操作MYSQL方法详解

8.3.2PHP对MySQL数据库的操纵①MYSQL_ASSOC:返回的数组将以该记录的字段名称作为下标。如在本例中,要输出此数组中的“姓名”字段,可以用$info[‘name’]。这里$info是数组名,“name”是存放姓名的字段名。②MYSQL_NUM:返回的数组以从0开始的数字为下标。在本例中,返回的每条记录只有两个字段,那么数组也就只有两个元素,分别用$info[0]、$info[1]来引用。③MYSQL_BOTH:返回的数组既可以用字段名为下标,也可以用数字为下标。在本例中,既可以用$info[0]来取得姓名,也可以用$info[‘name’]来取得。

8.3PHP操作MYSQL方法详解

8.3.2PHP对MySQL数据库的操纵

4、mysql_close()函数此函数用来关闭一个数据库连接。其使用格式如下;boolmysql_close([resourcelink_identifier])本函数只有一个可选参数link_identifier。此参数表示要关闭的连接的ID。也就是mysql_connect()函数执行成功后返回的一个连接标记。参数为空时表示关闭当前连接。该函数返回一个布尔型结果。当关闭成功时返回true,关闭失败是返回false。8.3PHP操作MYSQL方法详解

8.3.2PHP对MySQL数据库的操纵

4、mysql_close()函数<?php$id=mysql_connect(“localhost”,”root”,”1234”);if(mysql_close($id)){echo“关闭数据库连接成功!”;}else{echo“关闭数据库连接失败!”;}?>8.3PHP操作MYSQL方法详解8.3.3PHP中数据分页的实现在Web开发中经常遇到的一个问题就是,对大量数据进行分页显示。比如一个留言板有数千条留言,如果这些留言全都显示在一个页面上,页面将变得很大难以浏览,有时过大的页面还会导致浏览器停止相应。PHP中提供了非常简单方法,可以对数据进行分页。下面我们就来看一下。8.3PHP操作MYSQL方法详解8.3.3PHP中数据分页的实现例:文件8-5.php:用PHP实现数据分页显示功能8.4边学边做:用MySQL改写用户注册与登陆程序

一、“边学边做”分析

在第6章中我们已经做了用户注册与登陆的例子,其中我们事把用户的注册信息存放在记事本中,其实这样的写法在现行的网络中并不常见,现在网络上比较流行的还是用数据库来存储用户注册的信息,这是因为数据库在存储和查询数据方面有着记事本无法比拟的优势,当用户登录的时候再与数据库中的数据进行校验,如果一致允许登录,反之提示错误信息。我们要用数据库存储用户注册信息就要分析用户注册的信息项,并设定相对应的数据字段来进行存储。我们要用数据库存储用户注册信息就要分析用户注册的信息项,并设定相对应的数据字段来进行存储。8.4边学边做:用MySQL改写用户注册与登陆程序二、实施步骤1、创建数据库和表本例中我们一共用到1个数据库和1个表。数据库名为login,数据表的名字位user_info,用来存储用户的注册信息,其字段设置和字段数据类型见下表:

8.4边学边做:用MySQL改写用户注册与登陆程序二、实施步骤1、创建数据库和表打开phpMyAdmin,按照上述设计创建数据库和表。直接用SQL创建数据库和数据表8.4边学边做:用MySQL改写用户注册与登陆程序创建数据库:CREATEDATABASE`login`;创建表user_info:CREATETABLE`user_info`(`id`int(11)NOTNULLauto_increment,`user_name`varchar(20)NOTNULL,`user_pass`varchar(20)NOTNULL,`head_pic`varchar(30)NOTNULL,PRIMARYKEY(`id`),UNIQUEKEY`id`(`id`))8.4边学边做:用MySQL改写用户注册与登陆程序2、代码编写本实例共用到4个文件。分别是:login.html:用户注册信息页,同6.9中的login.html;login_action.php:用户注册信息记录页,在6.9中的login_action.php的基础上修改;land.html:用户登录信息页,同6.9中的land.html;land_action.php:用户登录信息校验页,在6.9中的land_action.php的基础上修改;由于login.html和land.html和6.9中的完全一致,这儿就不再多说。

8.4边学边做:用MySQL改写用户注册与登陆程序login_action.php的不同处是把原来51-59行的代码替换成下面的代码:51: $id=mysql_connect("localhost","root","root");52: mysql_select_db("login",$id);53: $query="insertintouser_info(user_name,user_pass,head_pic)values('$user_name','$user_pw1','$file_name')";54: mysql_query($query,$id);land_action.php的代码如下:1:<!--文件login_action.php:用户登陆-->2:<html>3:<head>4:<title>用户登陆</title>5:</head>6:<body>7:<?php8.4边学边做:用MySQL改写用户注册与登陆程序8: $id=mysql_connect("localhost","root","root");9: mysql_select_db("login",$id);10: $user_name=$_POST["user_name"];11: $user_pw=$_POST["user_pw"];12: $query="select*fromuser_infowhereuser_name='$user_name'";13: $rst=mysql_query($query,$id);14: if(mysql_num_rows($rst)==0){15: echo"用户名不存在,请<ahref=land.html>返回</a>";16: }else{17: $user=mysql_fetch_array($rst,MYSQL_ASSOC);18: if($user["user_

温馨提示

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

评论

0/150

提交评论