最近在写一个网站的后台,在编写登录后端的时候遇到一个问题:
如何获取对应用户的信息?比如说我想知道张三的邮箱啊之类的 又不能直接按照行数来找
得按照”张三“这个名字来找 所以就有了今天的这篇文章
一、数据库配置与连接
我建议(虽然我也才入门)在开始写网站的时候应该设置一个独立的配置文件夹 里面定义好数据库变量等
到时候使用以下内容直接代入新的php文件即可:
require_once("../configurations.php");
..指的是文件的根目录 文件的路径在哪里都可以自定义的
下面是 configuration.php 的内容
<?php
$servername = "xxx";
$sqlname = "root";
$sqlpassword = "xxxx";
$dbname = "xxxx";
$tablename = "xxxx";
?>
代入后直接用变量即可
接下来我们开始连接数据库 先开始建立连接
$conn = new mysqli($servername, $sqlname, $sqlpassword, $dbname);
// 检查连接是否成功
if ($conn->connect_error) {
die("数据库连接失败!请联系管理员处理! " . $conn->connect_error);
}else{
echo "数据库连接成功!";
}
以上的内容设置了一个变量 $conn 他定义了数据库连接后的信息输出
然后下面的内容便是检测数据库是否检测成功或失败 connect_error是PHP常见的一个内容 它是判断数据库连接失败的依据。
二、提取对应的数据
$stmt = $conn->prepare("SELECT password FROM xxxx WHERE username = ?");
$stmt->bind_param("s", $name); // 将用户输入绑定到SQL语句中
$stmt->execute();
// 获取查询结果
$result = $stmt->get_result();
// 检查是否有查询结果
if ($result->num_rows > 0) {
// 输出结果
$row = $result->fetch_assoc();
$password_string = $row["password"];
xxxx就是代表你要提取数据存在的表 而 password 是我们要提取的内容(后面还要输出)
username=? 就是我们输入的内容 设置为 ? 是为了防止 sql 侵入
$name 就是我们设置的用户名的变量 这个值可以由我们输入 具体要看各位要如何获取到 $name 变量了。我是以前端登录传到后端的名称来的
$result 就是我们设置的结果变量 然后在放入 if 变量中来判断是否成功
最后的 $password_string 就是我们设置输出内容的变量 为了测试是否可以正常输出 我们可以使用以下内容:
echo "你的密码为:$password_string";
在测试中如果正常输出的话那证明你没有做错!
本期教程就到这里 感谢大家观看我的博文!喜欢可以分享给身边的其他人
有问题也欢迎在评论区探讨!