php - 尝试使用 php mysql 登录
问题描述
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../admin/css/styles.css"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
<div class="row">
<div class="col-lg-3 col-md-2"></div>
<div class="col-lg-6 col-md-8 login-box">
<div class="col-lg-12 login-key">
<i class="fa fa-key" aria-hidden="true"></i>
</div>
<div class="col-lg-12 login-title">
ADMIN PANEL
</div>
<div class="col-lg-12 login-form">
<div class="col-lg-12 login-form">
<form action="" method="POST">
<div class="form-group">
<label class="form-control-label">USERNAME</label>
<input type="text" name="username" class="form-control">
</div>
<div class="form-group">
<label class="form-control-label">PASSWORD</label>
<input type="password" name="password" class="form-control" i>
</div>
<div class="col-lg-12 loginbttm">
<div class="col-lg-6 login-btm login-text">
<!-- Error Message -->
</div>
<div class="col-lg-6 login-btm login-button">
<input type="submit" name="submit" class="btn btn-outline-primary">
</div>
</div>
</form>
</div>
</div>
<div class="col-lg-3 col-md-2"></div>
</div>
</div>
</body>
</html>
<?php
include 'db.php';
if(isset($_POST['submit'])){
$username=$_POST['username'];
$password=$_POST['password'];
$db=mysqli_select_db($conn,"admin");
echo $sql= "SELECT * FROM admin WHERE username='$username' AND password='$password'";
$result=mysqli_query($conn,$sql);
$rows=mysqli_num_rows($result);
if($rows == 1){
echo 'hi';
}
else{
echo 'failed';
}
}
?>
解决方案
这是因为您正在echo
查询而不是实际执行它。
删除这个
echo $sql= "SELECT * FROM admin WHERE username='$username' AND password='$password'";
添加这个
$sql= "SELECT * FROM admin WHERE username='$username' AND password='$password'";
改进查询的几点,
- 从不
SELECT *
,这是不好的做法,而是提及列名 - 使用 PDO 甚至更好的 PDO 库 (IMO)
推荐阅读
- c++ - FFmpeg - Libavcodec - 无法编译,未找到文件错误,但文件存在
- python - Heroku 部署因缺少 SQL 表而失败
- javascript - Rails:为 link_to 显示红色的工具提示
- php - 为什么我的自定义帖子类型没有出现在我的管理菜单中?
- android-studio - 如何在Windows 10中将真实设备与Android连接
- node.js - Node.js 串行端口访问被拒绝
- qt - 我错过了什么,还是“qmlRegisterSingletonInstance”有错误?
- php - htaccess 未针对一个 URL 进行评估
- jquery - 使用 Asp.Net Core 找不到匹配的记录 jquery Datatable?
- android - 在 Android 设备上加载基于 tflite 的估计器模型的问题