🐮博主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语句进行数据匹配。如果你还有什么问题的话,可以私信我哦!
版权归原作者 syst1m' 所有, 如有侵权,请联系我们删除。