0


【网安小白成长之路】2.PHP与MySQL交互

🐮博主syst1m 带你 acquire knowledge!

✨博客首页——syst1m的博客💘

🔞 《网安小白成长之路(我要变成大佬😎!!)》真实小白学习历程,手把手带你一起从入门到入狱🚭

😘《CTF专栏》超级详细的解析,宝宝级教学让你从蹒跚学步到健步如飞🙈

😎《大数据专栏》大数据从0到秃头👽,从分析到决策,无所不能❕

🔥 《python面向对象(人狗大战)》突破百万的阅读量,上过各种各样的官方大型专栏,python面向对象必学之一!🐽

🎉希望本文能够给读者带来帮助,更好地理解这个问题或解决你的困惑🐾

前言

学习PHP与MySQL交互可以更好的为后续的学习做铺垫,可以知道前端与后端之间的一个基本交互原理。

PHP与MySQL交互

文章目录

一、phpMyAdmin安装

由于现在还没有学习怎么使用指令创建数据,这里我们就用可视化去操作

在小皮面板中点击软件管理找到PHPMyAdmin,安装到网站
在这里插入图片描述

在这里插入图片描述

二、PHPMyAdmin的使用

1.打开phpMyAdmin

打开 Apache 和 MySQL

再用浏览器访问 127.0.0.1/phpMyAdimn4.8.5

在这里插入图片描述

登录数据库,用户名是 root 密码默认是root

2.新建表数据库

点击左侧列表的新建,进行创建数据库,名称随意,我写的test

在这里插入图片描述
在这里插入图片描述

创建完成之后就会在左侧的列表中啦
在这里插入图片描述

3.添加内容

创建一个表,名字随意,我这是test_1

在这里插入图片描述

添加userName和userPasd字段,类型选择 TEXT 可以限制一下长度 点击保存

插入数据,输入你想要的用户名和密码

执行之后点击浏览就会出现刚刚添加的内容

在这里插入图片描述

三.编写代码

1.HTML代码

写一个简单的登录界面,就两个输入框和一个提交按钮

<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><metaname="viewport"content="width=device-width, initial-scale=1.0"/><title>用户登录</title></head><body><!-- action 选择提交的php文件  method 提交方式 --><formaction="login.php"method="post"><!-- labael 点击跳转到input的输入框 --><labelfor="userName">用户名:</label><!-- type 文本类型 --><inputtype="text"id="userName"name="userName"/><br/><labelfor="userPasd">密码:</label><inputtype="password"id="userPasd"name="userPasd"/><br/><!-- submit 提交 --><inputtype="submit"value="提交"/></form></body></html>

2.PHP代码

开头的代码
<?php// 告诉浏览器这是一个html页面,使用uft-8解码header("Content-type:text/html; Charset=utf-8");// 开启sessionsession_start();
获取表单内容

使用$_POST获取传过来的表单内容

// 获取输入的内容// trim去除掉两侧的空白或者预定字符$userName=trim($_POST['userName']);$userPasd=trim($_POST['userPasd']);// 判断是否填写了信息if($userName==''||$userPasd==''){// 三秒后刷新到login.htmlheader('refresh:3; url=login.html');echo'用户名或密码不能为空,将在三秒后跳转回登录页面,请重新登录';}

if里面的判断不要只写一个 = 号,我之前写的时候漏了给我找了好久才发现

连接数据库
// mysqli_connect('数据库地址', '用户名', '密码', '数据库');$con=mysqli_connect('localhost','root','123456','test');
判断是否成功连接到数据库
// 检查连接状态if(mysqli_connect_errno()){echo'连接数据库失败'.mysqli_connect_error();// 停止执行后面的代码exit();}

mysqli_connect_errno() 检查连接状态

mysqli_connect_error() 可以返回连接失败的原因

与数据进行匹配

翻译一下 选择 * 来自 test_1里面的 userName是否等于提交的用户名 和 userPasd是否等于提交的密码

*是通配符就是选择所有,也可以写成 select userName,userPasd 只选择两个

$sql="select * from test_1 where userName = '$userName' and userPasd = '$userPasd'";// 返回的结果$result=mysqli_query($con,$sql);

mysqli_query(数据库,MySQL语句)

判断返回值是否成功

mysqli_num_rows() 查看内容的行数

如果匹配成功的话返回值的行数就有很多数据,匹配失败的话就是空的

if(mysqli_num_rows($result)>0){echo"登录成功";}else{header('refresh:3; url=login.html');echo'用户名或密码错误,将在三秒后跳转回登录页面,请重新登录';}
PHP的全部代码
<?php// 告诉浏览器这是一个html页面,使用uft-8解码header("Content-type:text/html; Charset=utf-8");// 开启sessionsession_start();// 获取输入的内容// trim去除掉两侧的空白或者预定字符$userName=trim($_POST['userName']);$userPasd=trim($_POST['userPasd']);// 判断是否填写了信息if($userName==''||$userPasd==''){// 三秒后刷新到login.htmlheader('refresh:3; url=login.html');echo'用户名或密码不能为空,将在三秒后跳转回登录页面,请重新登录';}// 连接数据库//                     数据库地址   用户名    密码     数据库$con=mysqli_connect('localhost','root','123456','test');// 检查连接状态if(mysqli_connect_errno()){echo'连接数据库失败'.mysqli_connect_error();// 停止执行后面的代码exit();}// 查看传入的数据是否与数据库中的相同$sql="select * from test_1 where userName = '$userName' and userPasd = '$userPasd'";// 返回的结果$result=mysqli_query($con,$sql);if(mysqli_num_rows($result)>0){echo"登录成功";}else{header('refresh:3; url=login.html');echo'用户名或密码错误,将在三秒后跳转回登录页面,请重新登录';}

四、测试是否能成功登录

输入开始时自己在数据库中添加的用户名和密码

在这里插入图片描述

成功返回的页面

在这里插入图片描述

失败返回的页面

在这里插入图片描述

五、总结

代码量稍稍有些多,但是跟着文章一步一步的来,还是很简单易懂的,大体就是使用php接收前端传来的数据,与数据库连接后使用MySQL语句进行数据匹配。如果你还有什么问题的话,可以私信我哦!

标签: php mysql 交互

本文转载自: https://blog.csdn.net/hexiaan/article/details/137088052
版权归原作者 syst1m' 所有, 如有侵权,请联系我们删除。

“【网安小白成长之路】2.PHP与MySQL交互”的评论:

还没有评论