当前位置:首页 > 问答 > 正文

php写数据库那段代码怎么写,简单点直接用的源码分享

先准备好数据库和表

在开始写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代码连接数据库并插入数据

现在来写最重要的部分,处理表单的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;
?>

代码解释和关键点(直接说清楚怎么回事)

  1. 连接数据库:我们用 new PDO(...) 来连数据库,你需要把 $servername, $username, $password, $dbname 这四个变量改成你自己电脑上MySQL的配置。root 的密码就是你安装MySQL时设置的那个。

  2. 拿用户输入$_POST['username'] 就是从表单里拿名字叫 username 的那个输入框里填的内容。$_POST 就像一个大篮子,装着所有通过POST方法提交过来的数据。

    php写数据库那段代码怎么写,简单点直接用的源码分享

  3. 密码加密password_hash() 这个函数是PHP专门用来加密密码的,非常安全。千万不能直接把用户密码原文存到数据库里,万一数据库泄露,密码就全曝光了,用这个函数加密后,得到的是一串乱码,无法反推回原始密码。

  4. 防SQL注入:我们写SQL语句时,没有直接把变量拼接到字符串里("INSERT ... VALUES ('$user', '$pass')"),而是用了 :username:password 这样的占位符,然后通过 prepare(预处理)和 bindParam(绑定参数)的方式,把变量安全地传进去,这是防止SQL注入攻击的标准做法,能让你的网站更安全。

  5. 执行和反馈$stmt->execute() 就是最终执行插入操作的命令,成功或失败都会用 echo 输出一句话告诉你结果。

怎么用?

  1. 在你的网站目录(wwwhtdocs 文件夹)下,创建上面两个文件:register.htmlregister.php
  2. 确保你的MySQL数据库服务是开着的。
  3. 用浏览器打开 http://localhost/register.html
  4. 填上用户名和密码,点注册。
  5. 如果看到“用户注册成功!”的提示,就去phpMyAdmin里看看 users 表,应该多了一条记录,密码是加密后的长字符串。

这段代码就是最核心、最直接的“PHP写数据库”的流程,你只需要修改数据库配置信息,就可以直接用在简单的项目里,密码加密和防SQL注入是必须做的,别偷懒。