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中,然后进行输出。
相关文章:
PHP基础(3)
PHP基础表单提交文件处理PHP连接数据库异常抛出表单提交 PHP通过全局变量 $_GET和 $_POST来收集表单数据。 接下来改用post方式进行提交,再次查看是否隐藏了提交的内容: 发现提交的信息已经不在链接之中进行显示了。 GET与POST区别在于一个会在连接…...
跳槽进字节跳动了,面试真的很简单
前言: 最近金三银四跳槽季,相信很多小伙伴都在面试找工作, 怎样才能拿到大厂的offer,没有掌握绝对的技术,那么就要不断的学习 如何拿下阿里等大厂的offer的呢,今天分享一个秘密武器,资深测试工程师整理的…...
【SpringBoot9】HandlerInterceptor拦截器的使用 ——防重复提交
看本篇博客前应当先看完前面三篇,这一篇是基于前面三篇的知识点的整合。所以很多重复的代码这里就不写出了 后台通过拦截器和redis实现防重复提交,避免因为网络原因导致多次请求同时进入业务系统,导致数据错乱,也可以防止对外暴露…...
内网渗透(五十八)之域控安全和跨域攻击-约束性委派攻击
系列文章第一章节之基础知识篇 内网渗透(一)之基础知识-内网渗透介绍和概述 内网渗透(二)之基础知识-工作组介绍 内网渗透(三)之基础知识-域环境的介绍和优点 内网渗透(四)之基础知识-搭建域环境 内网渗透(五)之基础知识-Active Directory活动目录介绍和使用 内网渗透(六)之基…...
Linux僵尸进程理解作业详解
1 下面有关孤儿进程和僵尸进程的描述,说法错误的是? A.孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。 B.僵尸进程:一个进程使用fork创建子进程,如果…...
每日一题——L1-078 吉老师的回归(15)
L1-078 吉老师的回归 曾经在天梯赛大杀四方的吉老师决定回归天梯赛赛场啦! 为了简化题目,我们不妨假设天梯赛的每道题目可以用一个不超过 500 的、只包括可打印符号的字符串描述出来,如:Problem A: Print "Hello world!&qu…...
ESP32设备驱动-DS1264数字温度传感器驱动
DS1264数字温度传感器驱动 1、DS1264介绍 DS1624 由两个独立的功能单元组成:一个 256 字节非易失性 E2 存储器和一个直接数字温度传感器。 非易失性存储器由 256 字节的 E2 存储器组成。 该存储器可用于存储用户希望的任何类型的信息。 这些内存位置通过 2 线串行总线访问。…...
8000+字,就说一个字Volatile
简介 volatile是Java提供的一种轻量级的同步机制。Java 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量,相比于synchronized(synchronized通常称为重量级锁),volatile更轻量级&…...
MySQL的函数
Java知识点总结:想看的可以从这里进入 目录3.3、MySQL的函数3.3.1、字符串函数3.3.2、数学函数3.3.3、聚合函数3.3.4、日期函数3.3.5、条件判断函数3.3.6、系統信息函数3.3.7、其他函数3.3、MySQL的函数 MySQL提供了丰富的内置函数,这些函数使得数据的维…...
python排序算法
排序是指以特定格式排列数据。 排序算法指定按特定顺序排列数据的方式。 最常见的排序是数字或字典顺序。 排序的重要性在于,如果数据是以分类方式存储,数据搜索可以优化到非常高的水平。 排序也用于以更易读的格式表示数据。 下面来看看python中实现的5…...
【C++入门第二期】引用 和 内联函数 的使用方法及注意事项
前言引用的概念初识引用区分引用和取地址引用与对象的关系引用的特性引用的使用场景传值和引用性能比较引用和指针的区别内联函数内联函数的概念内联函数的特性前言 本文主要学习的是引用 及 内联含函数,其中的引用在实际使用中会异常舒适。 引用的概念 概念&…...
数据结构——顺序表讲解
作者:几冬雪来 时间:2023年2月25日 内容:数据结构顺序表内容讲解 目录 前言: 顺序表: 1.线性表: 2.什么是顺序表: 3.顺序表的概念和构成: 4.顺序表的书写: 1…...
Redis 主从复制-服务器搭建【薪火相传/哨兵模式】
Redis 安装参考文章:Centos7 安装并启动 Redis-6.2.6 注意:本篇文章操作,不能在 静态IP地址 下操作,必须是 动态IP地址,否则最后主从服务器配置不成功! 管道符查看所有redis进程:ps -ef|grep re…...
数据库|(五)分组查询
(五)分组查询1. 介绍2. 语法3. 简单分组函数2. 添加筛选条件3. 添加复杂的筛选条件4. 分组查询特点5. 按表达式或函数分组6. 按多个字段分组7. 分组查询添加排序1. 介绍 引入:查询每个部门的平均工资 -- 以前写法:求的是总平均工…...
Orin安装ssh、vnc教程
文章目录一:ssh远程终端的配置PC的配置MobaXterm的下载二:VNC Viewer远程图形界面终端配置:PC配置:一:ssh远程 终端的配置 1.ifconfig查看终端ip地址 其中的eth是网口,我们需要看的是wlan0下的inet&#…...
Allegro如何快速删除孤立铜皮操作指导
Allegro如何快速删除孤立铜皮操作指导 在做PCB设计的时候,铺铜是常用的设计方式,在PCB设计完成之后,需要删除PCB上孤立的铜皮,即铜皮有网络但是却没有任何连接 如下图 通过Status报表也可以看到Isolated shapes 如何快速地删除孤立铜皮,具体操作如下 点击Shape...
从单管单色到单管RGB,这项MicroLED工艺不可忽视
微显示技术商Porotech,在CES 2023期间展示了最新的MicroLED显示模组。近期,AR/VR光学领域的知名博主Karl Guttag深度分析了该公司的微显示技术,并指出Porotech带来了他见过最有趣的MicroLED技术。Guttag表示:Porotech是本届CES上给…...
6-Java中新建一个文件、目录、路径
文章目录前言1-文件、目录、路径2-在当前路径下创建一个文件3-在当前路径下创建一个文件夹(目录)3.1 测试1-路径已经存在3.2 测试2-路径不存在3.2 创建不存在的路径并新建文件3.3 删除已存在的文件并新建4-总结前言 学习Java中如何新建文件、目录、路径…...
Bootstrap系列之Flex布局
文章目录Bootstrap中的Flexd-flex与d-inline-flex也存在响应式变化flex水平布局flex垂直布局flex水平与垂直也存在响应式变化内容排列(justify-content响应式变化也存在于这里sm,md,lg,xl)子元素对齐方式Align items&a…...
匈牙利算法与KM算法的区别
前记 在学习过程中,发现很多博客将匈牙利算法和KM算法混为一谈,当时只管用不管分析区别,所以现在来分析一下两个算法之间的区别。 匈牙利算法在二分图匹配的求解过程中共两个原则: 1.最大匹配数原则 2.先到先得原则 而KM算法求…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...
日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
大语言模型如何处理长文本?常用文本分割技术详解
为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
Xen Server服务器释放磁盘空间
disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...
处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...
