🐮博主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代码
写一个简单的登录界面,就两个输入框和一个提交按钮
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>用户登录</title>
</head>
<body>
<!-- action 选择提交的php文件 method 提交方式 -->
<form action="login.php" method="post">
<!-- labael 点击跳转到input的输入框 -->
<label for="userName">用户名:</label>
<!-- type 文本类型 -->
<input type="text" id="userName" name="userName" />
<br />
<label for="userPasd">密码:</label>
<input type="password" id="userPasd" name="userPasd" />
<br />
<!-- submit 提交 -->
<input type="submit" value="提交" />
</form>
</body>
</html>
2.PHP代码
开头的代码
<?php
// 告诉浏览器这是一个html页面,使用uft-8解码
header("Content-type:text/html; Charset=utf-8");
// 开启session
session_start();
获取表单内容
使用$_POST获取传过来的表单内容
// 获取输入的内容
// trim去除掉两侧的空白或者预定字符
$userName = trim($_POST['userName']);
$userPasd = trim($_POST['userPasd']);
// 判断是否填写了信息
if ($userName == '' || $userPasd == '') {
// 三秒后刷新到login.html
header('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");
// 开启session
session_start();
// 获取输入的内容
// trim去除掉两侧的空白或者预定字符
$userName = trim($_POST['userName']);
$userPasd = trim($_POST['userPasd']);
// 判断是否填写了信息
if ($userName == '' || $userPasd == '') {
// 三秒后刷新到login.html
header('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 '用户名或密码错误,将在三秒后跳转回登录页面,请重新登录';
}
四、测试是否能成功登录
输入开始时自己在数据库中添加的用户名和密码
成功返回的页面
失败返回的页面
文章来源:https://www.toymoban.com/news/detail-852527.html
五、总结
代码量稍稍有些多,但是跟着文章一步一步的来,还是很简单易懂的,大体就是使用php接收前端传来的数据,与数据库连接后使用MySQL语句进行数据匹配。如果你还有什么问题的话,可以私信我哦!文章来源地址https://www.toymoban.com/news/detail-852527.html
到了这里,关于【网安小白成长之路】2.PHP与MySQL交互的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!