php写数据库那段代码怎么写,简单点直接用的源码分享
- 问答
- 2025-12-24 07:31:17
- 3
先准备好数据库和表
在开始写PHP代码之前,你需要先有一个数据库和一张表,假设你的MySQL数据库里有一个叫 my_database 的数据库,里面有一张叫 users 的表,你可以用下面的SQL语句来创建这张表(可以在phpMyAdmin或者其他数据库管理工具里执行):
CREATE TABLE users (
id INT(11) AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
password VARCHAR(255) NOT NULL,
reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
(来源:标准MySQL建表语句)
这张表有四个字段:
id:主键,自动增长,不用我们管。username:用来存用户名。password:用来存密码。reg_date:注册时间,自动生成。
第二步:写一个简单的HTML表单
我们先做一个让用户输入信息的页面,保存为 register.html。
<!DOCTYPE html>
<html>
<head>用户注册</title>
</head>
<body>
<h2>用户注册</h2>
<form action="register.php" method="post"> <!-- 告诉表单提交给register.php这个文件处理,用post方法 -->
<label for="username">用户名:</label>
<input type="text" id="username" name="username" required> <!-- name属性很重要,PHP靠它来拿数据 -->
<br><br>
<label for="password">密码:</label>
<input type="password" id="password" name="password" required>
<br><br>
<input type="submit" value="注册">
</form>
</body>
</html>
(来源:标准HTML表单代码)

第三步:核心部分 - 写PHP代码连接数据库并插入数据
现在来写最重要的部分,处理表单的PHP文件,保存为 register.php。
<?php
// 来源:基于PDO扩展的PHP数据库连接和操作通用写法
// 1. 数据库配置信息,改成你自己的
$servername = "localhost"; // 数据库地址,一般是localhost
$username = "root"; // 数据库用户名,默认是root
$password = "your_password"; // 数据库密码,安装MySQL时设置的
$dbname = "my_database"; // 数据库名字
// 2. 尝试连接数据库
try {
// 创建一个PDO连接对象,DSN定义了数据库类型、主机和数据库名
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// 设置PDO错误模式为异常模式,这样出错了会抛出异常,方便调试
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "数据库连接成功!<br>";
} catch(PDOException $e) {
// 如果连接失败,捕获异常并显示错误信息
echo "数据库连接失败: " . $e->getMessage();
exit(); // 直接退出脚本,不执行后面的代码
}
// 3. 获取表单提交过来的数据
// 使用 $_POST 超全局变量来获取,里面的键名就是HTML输入框的name属性
$user = $_POST['username'];
$pass = $_POST['password'];
// 4. 对密码进行加密(非常重要!绝对不能明文存储密码)
// 使用 password_hash() 函数,它会产生一个非常安全的散列值
$hashed_password = password_hash($pass, PASSWORD_DEFAULT);
// 5. 准备SQL插入语句
// 使用命名占位符 :username 和 :password,比直接拼接变量更安全,可以防止SQL注入攻击
$sql = "INSERT INTO users (username, password) VALUES (:username, :password)";
// 6. 预处理SQL语句
$stmt = $conn->prepare($sql);
// 7. 绑定参数到预处理语句,将变量替换掉占位符
$stmt->bindParam(':username', $user);
$stmt->bindParam(':password', $hashed_password);
// 8. 执行语句,并判断是否成功
try {
$stmt->execute(); // 执行插入操作
echo "新用户注册成功!";
} catch(PDOException $e) {
// 如果执行失败(比如用户名重复),捕获异常
echo "错误: " . $e->getMessage();
}
// 9. 关闭数据库连接(虽然不是必须,但好习惯)
$conn = null;
?>
代码解释和关键点(直接说清楚怎么回事)
-
连接数据库:我们用
new PDO(...)来连数据库,你需要把$servername,$username,$password,$dbname这四个变量改成你自己电脑上MySQL的配置。root的密码就是你安装MySQL时设置的那个。 -
拿用户输入:
$_POST['username']就是从表单里拿名字叫username的那个输入框里填的内容。$_POST就像一个大篮子,装着所有通过POST方法提交过来的数据。
-
密码加密:
password_hash()这个函数是PHP专门用来加密密码的,非常安全。千万不能直接把用户密码原文存到数据库里,万一数据库泄露,密码就全曝光了,用这个函数加密后,得到的是一串乱码,无法反推回原始密码。 -
防SQL注入:我们写SQL语句时,没有直接把变量拼接到字符串里(
"INSERT ... VALUES ('$user', '$pass')"),而是用了:username和:password这样的占位符,然后通过prepare(预处理)和bindParam(绑定参数)的方式,把变量安全地传进去,这是防止SQL注入攻击的标准做法,能让你的网站更安全。 -
执行和反馈:
$stmt->execute()就是最终执行插入操作的命令,成功或失败都会用echo输出一句话告诉你结果。
怎么用?
- 在你的网站目录(
www或htdocs文件夹)下,创建上面两个文件:register.html和register.php。 - 确保你的MySQL数据库服务是开着的。
- 用浏览器打开
http://localhost/register.html。 - 填上用户名和密码,点注册。
- 如果看到“用户注册成功!”的提示,就去phpMyAdmin里看看
users表,应该多了一条记录,密码是加密后的长字符串。
这段代码就是最核心、最直接的“PHP写数据库”的流程,你只需要修改数据库配置信息,就可以直接用在简单的项目里,密码加密和防SQL注入是必须做的,别偷懒。
本文由盘雅霜于2025-12-24发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:http://waw.haoid.cn/wenda/67414.html
