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算法求…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
MySQL 8.0 事务全面讲解
以下是一个结合两次回答的 MySQL 8.0 事务全面讲解,涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容,并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念(ACID) 事务是…...

tauri项目,如何在rust端读取电脑环境变量
如果想在前端通过调用来获取环境变量的值,可以通过标准的依赖: std::env::var(name).ok() 想在前端通过调用来获取,可以写一个command函数: #[tauri::command] pub fn get_env_var(name: String) -> Result<String, Stri…...
Python 训练营打卡 Day 47
注意力热力图可视化 在day 46代码的基础上,对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...

五子棋测试用例
一.项目背景 1.1 项目简介 传统棋类文化的推广 五子棋是一种古老的棋类游戏,有着深厚的文化底蕴。通过将五子棋制作成网页游戏,可以让更多的人了解和接触到这一传统棋类文化。无论是国内还是国外的玩家,都可以通过网页五子棋感受到东方棋类…...