2014上半年课件php第三次培训_第1页
2014上半年课件php第三次培训_第2页
2014上半年课件php第三次培训_第3页
2014上半年课件php第三次培训_第4页
2014上半年课件php第三次培训_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、PHP第三节课(数据库操作+session+cookie+文件上传) 2014.11.13 莫梓杰数据插入(insert)数据查询(select)数据更新(update)数据删除(delete)四个基本的数据库操作数据插入insert语句:insert into table_name (column_list) values (data_values)要添加记录的数据表名称表中的字段列表,表示向表中哪些字段插入数据。如果是多个字段,字段间用逗号分隔;如果不指定column_list,默认向数据表中所有字段插入数据要添加的数据列表,各个数据之间用逗号分隔。数据列表中数据的个数和数据类型必须和字段

2、列表中的字段个数和数据类型一致?phpinclude(db_connect.php);$username=$_POSTusername;$insertdata=mysql_query(INSERT INTO users (username) VALUES ($username);if($insertdata=true)echo 插入成功!;else echo mysql_error();?INSERT示例代码示例2$sql=“insert into users (name,sex,age,class) values ($name,$sex,$age,$class)”;/关键字大小写无区别ech

3、o $sql; / 检查是否写错sql语句 $insertdata=mysql_query($sql);/传递的只是一段字符串If($insertdata)/函数返回的是布尔型true/false整型1/null echo “success insert”;可以先写好sql语句再执行数据查询select语句:select selection_list from table_list where primary_constraint group by grouping_columns order by sorting_columns having secondary_constraint lim

4、it count要查询的内容,选择哪些字段(需要获取整行数据时用*)从什么表中查询查询时需要满足的条件如何对结果进行分组(同组的结果只会显示一个)如何对结果进行排序查询时满足的第二个条件限定输出的查询结果条数 $result=mysql_query(select * from users where userid=48);$row=mysql_fetch_array($result);echo $rowuserid.$rowusername.;$result=mysql_query(select * from users);while($row=mysql_fetch_array($resul

5、t) echo $rowuserid.$rowusername.;Select示例代码mysql_query()函数与mysql_fetch_array()函数mysql_query()函数: mysql_query()对 SELECT 语句返回一个资源标识符(请通过实际使用理解),如果查询执行不正确则返回FALSE。对于 INSERT, UPDATE, DELETE 语句,mysql_query()在执行成功时返回TRUE,出错时返回FALSE。mysql_fetch_array()函数:mysql_fetch_array () 返回根据从结果集取得的行生成数组,如果没有更多行则返回FALS

6、E。 数据更新update语句: update table_name set column1=expression1 ,column2=expression2 , where condition需要更新表的名称定要更新的字段,以及这些字段的新值指定要更新的记录所符合的条件。可以根据需要加入多个筛选条件,各条件之间可以用AND或OR连接,也可以使用NOT操作符(!)对逻辑表达式取反UPDATE示例代码$result=mysql_query(update users set password=1212 where userid=49);if (mysql_affected_rows()=1)ech

7、o 更新成功;else echo 数据更新失败;/mysql_affected_rows() 函数返回前一次 MySQL 操作所影响的记录行数。失败返回-1数据删除delete语句: delete from table_name where condition说明:删除table_name表中的记录时,如果没有指定where条件,将删除该表中的所有记录;如果指定了where条件,将按照指定的条件进行删除。DELETE示例代码DELETE示例代码mysql_query()非FALSE的返回值意味着查询是合法的并能够被服务器执行。这并不说明任何有关影响到的或返回的行数。 很有可能一条查询执行成功了

8、但并未影响到或并未返回任何行。intmysql_affected_rows(resource$link_identifier )取得最近一次与link_identifier关联的 INSERT,UPDATE 或 DELETE 查询所影响的记录行数Notice判断是否update或delete成功练习时间以上次的作业为基础向数据库插入一些数据,然后做删、查、改的操作,并且把返回的结果输出看看返回的是什么内容可以用用var_dump()来查看结果体会mysql_fetch_array()和mysql_fetch_row()的区别注意中文的处理,setcharset=utf-8在实际应用中常会设置一

9、些状态字段来记录,例如0(未处理),1(处理成功),-1(处理失败)会话控制的基本会话的两种机制cookie&session为什么要使用会话? 用于在网站中根据一个会话追踪(辨别)用户那些地方用到了他们?登录前:登录后:Session和cookie的本质 就是一组用作验证和记录的,具有全局属性的数据Cookie和session的一些区别优点缺点cookieCookie是以文件方式存放,可以修改其“存活”时间。 存于用户端文件中,可能被用户修改(安全风险)一旦用户禁用cookie的话,就不能用cookie了。sessionSession不会受浏览器端的设置影响,可记录每个访问者的信息,独立在服务

10、器端,比Cookie安全!存在服务器内存中,大量的session会浪费服务器内存。浏览器关闭它也就“死”了 。默认的存活时间为24分钟。初始化session和cookie一般session和cookie以数组的形式存放数据和记录,但是注意在使用前要初始化来声明使用两个函数:setcookie() session_start()注意:必须在任何属于HTML文件内容输出之前调用Cookie和session初始化函数示例:cookie 同理补充:setcookie()可以带参数setcookie(user,“aa,time() );/设置一个名为user的cookie并赋值为aa,生存时间为3600

11、秒(1小时)session_start()服务器会随机生成一个id给它,可以通过函数获取$sessionName = session_name();$sessionID = session_id();设置session的生命周期实际上是通过cookie实现的setcookie(session_name(),session_id(),time() + 3600);Session 和cookie 的销毁在一般网站中会有退出和注销的实现,那就是通过将session/cookie无效化来实现的session:unset() 函数用于释放指定session 变量:unset($_SESSIONname)

12、; 也可以通过 session_destroy() 函数彻底终结 session:注:session_destroy() 将重置 session,您将失去所有已存储的 session 数据。 cookie:setcookie(name,写什么无所谓,time()-1)通过修改生存时间来删除 练习记录网页访问次数(在demo_session文件夹里的count_view.php 基础上做)点击重置计数后清零。*选作:把做好的上述文件改为用cookie做文件上传 Filename: 请留意如下有关此表单的信息: 标签的 enctype 属性规定了在提交表单时要使用哪种内容类型。enctype=“m

13、ultipart/form-data”的意思是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,才能完整的传递文件数据,进行下面的操作. 标签的 type=file 属性规定了应该把输入作为文件来处理。举例来说,当在浏览器中预览时,会看到输入框旁边有一个浏览按钮。创建上传脚本upload_file.php 文件含有供上传文件的代码: 0) echo Error: . $_FILESfileerror . ; else echo Upload: . $_FILES

14、filename . ; echo Type: . $_FILESfiletype . ; echo Size: . ($_FILESfilesize / 1024) . Kb; echo Stored in: . $_FILESfiletmp_name; ?通过使用 PHP 的全局数组 $_FILES,你可以从客户计算机向远程服务器上传文件。$_FILESfilename - 被上传文件的名称$_FILESfiletype - 被上传文件的类型$_FILESfilesize - 被上传文件的大小,以字节计$_FILESfiletmp_name - 存储在服务器的文件的临时副本的名称$_FIL

15、ESfileerror - 由文件上传导致的错误代码添加限制if ($_FILESfiletype = image/gif) | ($_FILESfiletype = image/jpeg) | ($_FILES“file”“type” = “image/pjpeg”)/限制类型,后缀名 & ($_FILES“file”“size” 20000)/限制大小,单位是字节else echo Invalid file; 上传成功的文件会临时保存在PHP配置里这指定的一个目录中,默认是保存在APMServtmpuploadtemp里面,并且会在程序执行成功之后把文件临时文件删除。所以你是看不到这个临时

16、文件的。 所以我们需要转移保存的地方,调用函数move_uploaded_file(file,newlocation); if (file_exists(“upload/” . $_FILES“file”“name”) /file_exists()判断是否有同名文件,存在返回1,否则0,注意目录位置以脚本文件为准 echo $_FILESfilename . already exists. ; else move_uploaded_file($_FILESfiletmp_name, upload/ . $_FILESfilename);/第一个参数是保存在暂存目录的临时文件名,第二个参数是要保存的目录和文件名echo Stored in: . upload/ . $_FILESfilename; 临时改变上传文件大小限制:长久之计:在php.ini中更改MAX_FILE_SIZE的值*php.ini中可以设置修改很多重要的配置。做项目中可能经常要查看或修改配置。Php.ini中的部分配置 (对php配置的一个详

温馨提示

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

评论

0/150

提交评论