当前位置:首页 > 行业动态 > 正文

html连接mysql数据库代码

HTML无法直连MySQL,需通过PHP/JSP等后端语言连接,如:

环境配置

要实现HTML与MySQL数据库的交互,需通过服务器端语言(如PHP、Python、Node.js)作为中间层,以下以PHP为例:

  1. 安装环境

    • Apache/Nginx服务器
    • PHP(建议7.4+)
    • MySQL数据库
    • 推荐使用集成环境:XAMPP、WAMP或MAMP
  2. 创建数据库和表

    html连接mysql数据库代码  第1张

    CREATE DATABASE test_db;
    USE test_db;
    CREATE TABLE users (
        id INT AUTO_INCREMENT PRIMARY KEY,
        name VARCHAR(50),
        email VARCHAR(50)
    );

PHP连接MySQL代码示例

数据库连接(推荐使用mysqli扩展)

<?php
$servername = "localhost"; // 数据库地址
$username = "root";        // 数据库用户名
$password = "";            // 数据库密码
$dbname = "test_db";       // 数据库名称
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
?>

插入数据(配合HTML表单)

HTML文件(form.html):

<form action="insert.php" method="post">
    姓名: <input type="text" name="name"><br>
    邮箱: <input type="text" name="email"><br>
    <input type="submit" value="提交">
</form>

PHP处理文件(insert.php):

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test_db";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}
$name = $_POST['name'];
$email = $_POST['email'];
// 使用预处理语句防止SQL注入
$stmt = $conn->prepare("INSERT INTO users (name, email) VALUES (?, ?)");
$stmt->bind_param("ss", $name, $email);
$stmt->execute();
echo "数据插入成功";
$stmt->close();
$conn->close();
?>

查询数据并显示(配合HTML表格)

PHP文件(select.php):

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test_db";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}
$sql = "SELECT id, name, email FROM users";
$result = $conn->query($sql);
echo "<table border='1'>
<tr><th>ID</th><th>姓名</th><th>邮箱</th></tr>";
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "<tr><td>".$row["id"]."</td><td>".$row["name"]."</td><td>".$row["email"]."</td></tr>";
    }
} else {
    echo "<tr><td colspan='3'>暂无数据</td></tr>";
}
echo "</table>";
$conn->close();
?>

关键知识点对比表

功能 代码示例
连接数据库(mysqli) new mysqli($servername, $username, $password, $dbname);
插入数据(预处理) $stmt = $conn->prepare("INSERT INTO table VALUES (?, ?)");
查询数据 $result = $conn->query("SELECT FROM table");
防止SQL注入 使用prepare()bind_param()

常见问题与解答

问题1:为什么HTML无法直接连接MySQL?

解答
HTML是标记语言,仅负责页面结构和样式,不具备与数据库交互的能力,必须通过服务器端语言(如PHP、Python)或客户端脚本(如JavaScript)调用后端API,才能实现与数据库的通信。


问题2:mysqliPDO有什么区别?应该选哪个?

解答
| 对比项 | mysqli | PDO |
|——————|————————————–|————————————-|
| 支持数据库 | 仅MySQL | 支持多种数据库(MySQL、PostgreSQL等)|
| 语法风格 | 面向对象或过程 | 统一接口,支持预处理 |
| 安全性 | 内置预处理语句 | 更灵活的预处理和错误处理 |
| 适用场景 | 仅需操作MySQL时 | 需要兼容多数据库时 |

建议

  • 如果项目仅针对MySQL,mysqli更轻量;
  • 若需跨数据库兼容或复杂操作,优先
0