当前位置: 首页 > news >正文

PHP基础(3)

PHP基础

  • 表单提交
  • 文件处理
  • PHP连接数据库
    • 异常抛出

表单提交

PHP通过全局变量 $_GET和 $_POST来收集表单数据。
在这里插入图片描述
在这里插入图片描述
接下来改用post方式进行提交,再次查看是否隐藏了提交的内容:
在这里插入图片描述
在这里插入图片描述
发现提交的信息已经不在链接之中进行显示了。
GET与POST区别在于一个会在连接中显示,另一个就不会。
接下来还可以根据提交的内容做出反馈,使用if语句进行判断:
请添加图片描述
请添加图片描述
输入其他的账号密码就会返回错误。

文件处理

在这里插入图片描述
readfile()本身附带打印的功能,最终使用echo打印出的还有其中的字节数。与fopen()函数的区别在于,即使某一个文件没有打开,也可以直接打开,但是fopen函数只能打开已经打开的文件。作为fopen只能打开,并不能进行更改内容等,所以还需要对应的函数进行操作其中的内容。

**fopen()函数打开一个文件或 URL。**此函数提供比 readfile()函数更多的选项。
fopen()函数:
语法: fopen(filename,mode,include_path,context) ……其中前两个文件名和模式必须有,后两项则可有可无。
fopen()的第一个参数包含被打开的文件名,第二个参数规定打开文件的模式。
打开模式及含义:
r:只读方式打开,将文件指针指向文件头
r+:读写方式打开,将文件指针指向文件头
w:写入方式,将文件指针指向文件头,清除内容,如果文件不存在则尝试创建
w+:读写方式,将文件指针指向文件头,清除内容,如果文件不存在则尝试创建
a:写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建
a+:读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建
如果fopen()失败,它将返回FALSE 并附带错误信息。

读取文件- fread():
fread()函数读取打开的文件。
函数会在到达指定长度或读到文件末尾(EOF)时(以先到者为准),停止运行。该函数返回读取的字符串,如果失败则返回FALSE。
语法: string fread ( resource $handle , int $length )
fread()的第一个参数是文件系统指针,是典型地由fopen()创建的resource(资源)。第二个参数规定待读取的最大字节数,不可省略。
关闭文件 - fclose():
fclose()函数用于关闭打开的文件。该函数如果成功则返回TRUE,如果失败则返回 FALSE。配合fopen使用。
语法: fclose(resource $handle )
fclose()需要待关闭文件的名称(或者存有文件名的变量)。
在这里插入图片描述
fopen中第二个参数是读写等方式,能且只能写的参数有:r,r+,w,w+,a,a+
fwrite()函数:
fwrite()函数用于写入文件。
函数会在到达指定长度或读到文件末尾(EOF)时(以先到者为准),停止运行。如果函数成功执行,则返回写入的字节数。如果失败,则返回FALSE。
语法:fwrite(file,string,[length])
fwrite()的第一个参数要写入的打开文件,第二个参数要写入打开文件的字符串(必需),第三个规定要写入的最大字节数。
fwrite就是进行写一个文件,所以在php进行运行的时候不会显示什么,操作结果都显示在了相应的文本文件中。

在这里插入图片描述
首先先定义两个要写进去的文本,使用\r\n就是换行的意思(windows中是\r\n为换行,mac中\r是换行,linux中\n为换行)。
fopen(目标文件,对目标文件进行的操作),此处为w:覆盖写。
fwrite(目标文件,要写进目标文件的内容)

PHP连接数据库

可使用mysqli(PHP MySQL lmproved)对Mysql数据库进行连接,之前有一个函数是mysql_connect(),也是用于和Mysql数据库连接,目前已经不用再使用。PDO (PHP Data Objects)也可以连接数据库。
mysqli和PDO二者区别:
PDO应用在12种不同数据库中,MySQLi只针对 MySQL数据库。所以,如果项目需要在多种数据库中切换)建议使用PDO,这样需要修改连接字符串和部分查询语句即可。使用MySQLi,如果不同数据库,需要重新编写所有代码,包括查询。两者都是面向对象,但 MySQLi 还提供了API接口。
简单介绍几个mysql中的常用的函数:

  • mysqli_connect_error():返回上一次连接错误的错误描述。
  • mysqli_connect():打开到mysql服务器的新连接。
  • mysqli_error():返回字符串描述的最近一次函数调用产生的错误代码。
  • mysqli_query():在数据库上执行查询。

首先先查看自身MySQL的账号与密码,server直接选择localhost即可,端口默认为3306.
在PHPstudy中即可查看:在这里插入图片描述

在这里插入图片描述
在这里首先定义好服务器server,用户名name,以及密码pwd。
使用MySQL的连接函数,参数中定义服务器,用户名,密码。
如果连接失败的话,直接使用die函数,杀死程序,返回错误信息。
如果连接成功则返回“successful”,最后关闭数据库连接。

异常抛出

在这里插入图片描述
try和catch是配对的关系,如果try里面的内容出现了错误,那么就交给catch进行处理,如果try里面的内容没有问题,那么就不用执行catch了。通过异常处理,一颗防止程序异常终止。
第六行:mysql表示连接的库的类型,此处为mysql,往后就是host是什么,账号以及密码是什么。如果连接成功,那么就会打印Successful。
第十行:如果第六行出现错误,那么就会将错误信息放在$N中,然后进行输出。

http://www.lryc.cn/news/19695.html

相关文章:

  • 跳槽进字节跳动了,面试真的很简单
  • 【SpringBoot9】HandlerInterceptor拦截器的使用 ——防重复提交
  • 内网渗透(五十八)之域控安全和跨域攻击-约束性委派攻击
  • Linux僵尸进程理解作业详解
  • 每日一题——L1-078 吉老师的回归(15)
  • ESP32设备驱动-DS1264数字温度传感器驱动
  • 8000+字,就说一个字Volatile
  • MySQL的函数
  • python排序算法
  • 【C++入门第二期】引用 和 内联函数 的使用方法及注意事项
  • 数据结构——顺序表讲解
  • Redis 主从复制-服务器搭建【薪火相传/哨兵模式】
  • 数据库|(五)分组查询
  • Orin安装ssh、vnc教程
  • Allegro如何快速删除孤立铜皮操作指导
  • 从单管单色到单管RGB,这项MicroLED工艺不可忽视
  • 6-Java中新建一个文件、目录、路径
  • Bootstrap系列之Flex布局
  • 匈牙利算法与KM算法的区别
  • You Only Need 90K Parameters to Adapt Light 论文阅读笔记
  • 【vue2小知识】实现axios的二次封装
  • 走近php的数组:数组的定义与数组函数
  • Docker 应用实践-仓库篇
  • python+django篮球NBA周边商城vue
  • 抽象类与接口的区别
  • 1904. 你完成的完整对局数
  • Vue3:自定义指令以及简单的后台管理权限封装
  • 剑指 Offer 12. 矩阵中的路径
  • springboot+jersey+tomcat实现跨域方式上传文件到服务器
  • 【微信小程序】-- 常用视图容器类组件介绍 -- view、scroll-view和swiper(六)