php的mysql操作可实现简单登录功能
文章目录
- 1. 表单和请求
- (1) 表单操作
- (2) 网络请求
- (3) $_REQUEST超全局变量
- 2. mysql数据库操作
- 1) mysqli连接操作
- 2) 操作数据库
- 3) 预处理语句
- 4) pdo操作数据库
- 5) 创建连接并执行查询语句
1. 表单和请求
主要使用到**$_GET** 和 $_POST这两个超全局变量,分别对应两种请求
(1) 表单操作
<form action="use.php" method="get">账号: <input type="text" name="username" required><br>密码: <input type="password" name="password" required><br>性别: <input type="radio" name="sex" value="1" required>男 <input type="radio" name="sex" value="2" required>女<br>爱好: <input type="checkbox" name="hobby[]" value="1">篮球 <input type="checkbox" name="hobby[]" value="2">足球 <input type="checkbox" name="hobby[]" value="3">羽毛球<br>地址: <input type="text" name="address" required><br><input type="submit" value="登录">
</form>
(2) 网络请求
get和post请求时常用的两种HTTP请求方法,用于客户端从服务端发送和请求数据
get请求: 通过url网址的参数的形式将数据附加在url上发送给服务器,参数会出现在url的末尾,使用?将url和参数分隔开
post请求: 将数据作为请求的主体发送给服务器,而不是附加在url上,这使得post请求更适合发送铭感的数据和超长的数据
<?phpvar_dump($_GET); // 通过$_GET获取get请求的参数echo "<br>"; // 可以根据表单获取的信息实现简单登录功能var_dump($_POST); // 通过$_POST获取post请求的参数?>
(3) $_REQUEST超全局变量
$_REQUEST变量包含了get和post和cookie的内容
$_server获取请求方式
**htmlspecialchars()**函数: 用于将字符串中的特殊字符转换为HTML实体,以避免子啊HTML文档中引起解析错误或安全漏洞
2. mysql数据库操作
mysqli和PDO操作数据库
1) mysqli连接操作
扩展mysqli: 配置php.ini文件 ,打开一下两个配置


配置phpstorm:

编写代码测试:
// 面向对象连接
<?php
$mysqli = new mysqli("localhost", "root", "xjy1234", "test");
if ($mysqli->connect_errno) {echo "连接失败: " . $mysqli->connect_error;
}
echo "连接成功";
$mysqli->close();
?>// 面向过程连接
<?php
$localMysql = mysqli_connect("localhost", "root", "xjy1234", "test");
if (!$localMysql){echo "连接失败".mysqli_connect_error();
}
echo "连接成功";
// 关闭连接
mysqli_close($localMysql);
?>
2) 操作数据库
查询数据表
<?php
$mysqli = new mysqli("localhost", "root", "xjy1234", "test");
if ($mysqli->connect_errno) {echo "连接失败: " . $mysqli->connect_error;
}
$test = $mysqli->query("select * from user"); // 该query可以执行sql语句例如: 创建数据库表,数据的增删查改
print_r($test->fetch_all());
$mysqli->close();
?>
3) 预处理语句
解决sql注入
// 使用?作为占位符
$sql = "select * from user where username=? and password = ?";
$stmt = $conn->prepare($sql)
// s表示字符串,i表示整型,d表示double形,b表示二进制
$stmt = bind_param("ss",$username,$password)
$stmt = execute(); // 执行
// 获取返回结果
$result = $stmt->get_result()$stmt->close()
4) pdo操作数据库
开启pdo

// 查看是否有
phpinfo();

5) 创建连接并执行查询语句
<?php
try {$PDO = new PDO("mysql:host=localhost;dbname=test", "root", "xjy1234");$PDO->setAttribute($PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);
}catch (Exception $e){echo "sql连接错误".$e;
}
// 新增删除修改使用exec
$result = $PDO->query("select * from user");
print_r($result->fetchAll());
?>
相关文章:
php的mysql操作可实现简单登录功能
文章目录 1. 表单和请求(1) 表单操作(2) 网络请求(3) $_REQUEST超全局变量 2. mysql数据库操作1) mysqli连接操作2) 操作数据库3) 预处理语句4) pdo操作数据库5) 创建连接并执行查询语句 1. 表单和请求 主要使用到**$_GET** 和 $_POST这两个超全局变量,分别对应两种请求 (1) …...
c#复制窗体Form方法
直接复制三个类粘贴到vs的项目中...
C:图案打印
引言 本篇文章讲了一些常见的图形编程题,并总结了一些规律。 1、打印空心正方形 1.1 代码展示: #include<stdio.h> int main() {int a 0;//边长初始化scanf("%d", &a);//输入边长的值{int i 0;for (i 0; i < a; i)//控制行…...
WebLogic:弱口令,木马反弹连接
weblogic WebLogic 是 Oracle 公司开发的应用服务器,主要用作开发、集成、部署和管理大型分布式 Web 应用、网络应用和数据库应用的 Java 应用服务器。它在历史上曾出现过多个安全漏洞,其中包括弱口令、任意文件上传、SSRF、反序列化漏洞等 常见版本&a…...
深度学习图像处理环境搭建
Anaconda安装 Anaconda介绍 Anaconda是一个用于科学计算和数据科学的开源发行版,它包含了许多流行的Python库和工具,旨在简化数据分析和机器学习任务的开发过程。Anaconda提供了一个集成的开发环境,包括Python解释器、包管理工具࿰…...
这几个高级爬虫软件和插件真的强!
亮数据(Bright Data) 亮数据是一款强大的数据采集工具,以其全球代理IP网络和强大数据采集技术而闻名。它能够轻松采集各种网页数据,包括产品信息、价格、评论和社交媒体数据等。 网站:https://get.brightdata.com/we…...
【实战】机器学习Kaggle比赛—House Prices - Advanced Regression Techniques
House Prices - Advanced Regression Techniques 一、准备工作(1)查看项目概述(2)下载数据集(3)导入部分必要的库(4)参数设置(图形显示大小屏蔽警告)…...
【前端面试题】前端工程化、Webpack、Vite、Git项目管理相关问题
目录 关于前端工程化关于Webpack关于Vite关于Git项目管理综合性问题 关于前端工程化 1. 前端工程化的定义和好处 问题:什么是前端工程化?它的主要好处是什么?答案:前端工程化是指在前端开发中应用系统化、自动化和标准化的方法&…...
【号外】「省点时间」新功能暖心上线!
好消息,好消息,重大好消息! 应广大用户朋友的要求,经过一个多月的鏖战,「省点时间」的VIP功能终于上线啦! 新版本在原有基础上,新增VIP功能,用户拥有了更多选择,赶快来…...
Python面试题:如何使用WebSocket实现实时Web应用
使用 WebSocket 实现实时 Web 应用可以使你的应用程序具备实时双向通信的能力。以下是一个完整的指南,展示如何使用 Django Channels 和 WebSocket 实现一个简单的实时 Web 应用。 环境准备 安装 Django Channels: pip install channels创建 Django 项目: django-a…...
公交信息在线查询小程序的设计
管理员账户功能包括:系统首页,个人中心,用户管理,线路信息管理,站点分类管理,站点信息管理,周边分类管理周边信息管理,系统管理 微信端账号功能包括:系统首页࿰…...
Airtest实施手机精准截图
Airtest实施手机精准截图 一、接口查找 首先我们需要知道我们应该怎么实现用脚本去进行局部截图,我们可以通过翻阅Airtest的API文档发现,Airtest提供了 crop_image(img, rect) 方法可以帮助我们实现局部截图,在我们往期的推文里也介绍过该接…...
前端面试宝典【设计模式】【2】
欢迎来到《前端面试宝典》,这里是你通往互联网大厂的专属通道,专为渴望在前端领域大放异彩的你量身定制。通过本专栏的学习,无论是一线大厂还是初创企业的面试,都能自信满满地展现你的实力。 核心特色: 独家实战案例:每一期专栏都将深入剖析真实的前端面试案例,从基础知…...
技术汇总笔记7:条件分支相关内容
嵌套Switch语句的使用和改进 嵌套的switch语句虽然在语法上是允许的,但可能会使代码难以阅读和维护。例如: switch (_get_urgency_ob_type(sData.structure_name)) {case URGENCY_OB_PRESSUREINFO:{switch(_get_urgency_ob_sub_type( sData.attribute_…...
一文让你学会python:面向对象
面向对象编程(OOP) 一.类与实例 1.类: 是对现实世界描述的一种类型,是抽象的,是实例的模板,类名采用大驼峰,定义方式为 class 类名: pass 。 2.实例: 根据类创建的具体对象&…...
mac电脑安装 docker镜像 btpanel/baota
PS:docker链接:https://hub.docker.com/r/btpanel/baota 1、将docker下载到本地,然后运行端口映射 docker run -d --restart unless-stopped --name baota -p 8888:8888 -p 22:22 -p 443:443 -p 80:80 -p 888:888 -v ~/website_data:/www/w…...
Python写UI自动化--playwright(pytest.ini配置)
在 pytest.ini 文件中配置 playwright 的选项可以更好地控制测试执行的过程。 在终端输入pytest --help,可以找到playwright的配置参数 目录 1. --browser{chromium,firefox,webkit} 2. --headed 3. --browser-channelBROWSER_CHANNEL 4. --slowmoSLOWMO 5. …...
java实现序列化操作
Java序列化是一种将对象转换为字节流的过程,以便在网络上传输或将对象持久化到磁盘中。在Java中,实现序列化的关键是实现Serializable接口。当一个类实现了Serializable接口时,它可以被Java序列化机制序列化成字节流,然后再反序列…...
视频帧的概念
一个视频帧是视频中的单一静态图像。视频帧的概念与电影胶片中的单一帧类似,视频帧序列的快速播放形成了连续运动的视觉效果。以下是视频帧的详细解释: 视频帧的定义: 视频帧:视频中的单一静态图像。视频是由一系列连续的帧按一定…...
卫星导航系统的应用领域与发展前景
当人们提到卫星导航系统,往往会联想到车载导航仪或手机上的地图应用。然而,卫星导航系统的应用远不止于此,它在许多领域都发挥着重要作用。下面将介绍几个卫星导航系统的应用领域及其发展前景。首先是海洋航行安全领域。在过去,海…...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...
椭圆曲线密码学(ECC)
一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...
LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...
HTML 列表、表格、表单
1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具
第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...
云原生安全实战:API网关Kong的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关(API Gateway) API网关是微服务架构中的核心组件,负责统一管理所有API的流量入口。它像一座…...
Rust 开发环境搭建
环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行: rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu 2、Hello World fn main() { println…...
