首页  >  文章  >  数据库  >  如何在 PHP 中使用准备好的语句将表单数据插入 MySQL?

如何在 PHP 中使用准备好的语句将表单数据插入 MySQL?

Patricia Arquette
Patricia Arquette原创
2024-11-10 11:19:02632浏览

How to Insert Form Data into MySQL Using Prepared Statements in PHP?

PHP:将表单中的值插入 MySQL

问题

您已创建一个数据库表并尝试从 HTML 插入值表单进入其中,但数据库仍为空。该代码将 SQL 查询声明为字符串变量,但不执行它,从而使数据库不受影响。

答案

要使用表单插入值,请按照以下步骤操作:

  1. 永远不要信任用户输入:表单的输入可以被操纵,可能导致 SQL 注入漏洞。
  2. 使用准备好的语句:它们允许您指定占位符SQL语句中的值,然后动态绑定到变量,防止恶意输入。
  3. 修改您的PHP代码:
<?php

// Database configuration
include_once 'dbConfig.php';

if (isset($_POST['save'])) {
    // Prepare the statement
    $sql = "INSERT INTO users (username, password, email) VALUES (?,?,?)";
    $stmt = $mysqli->prepare($sql);

    // Bind the parameters to the statement
    $stmt->bind_param("sss", $_POST['username'], $_POST['email'], $_POST['password']);

    // Execute the statement
    $stmt->execute();

    // Close the statement
    $stmt->close();
}

?>

准备语句注释

  • 占位符(?)用于变量绑定。
  • 使用bind_param绑定变量类型(例如,sss为三个字符串)。
  • 执行finally插入将值存入数据库。

密码安全

请注意,密码不应以明文形式存储。相反,使用password_hash来存储密码的安全哈希。

以上是如何在 PHP 中使用准备好的语句将表单数据插入 MySQL?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn