首页  >  文章  >  数据库  >  为什么我的表单值没有插入到我的 MySQL 数据库中?

为什么我的表单值没有插入到我的 MySQL 数据库中?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-11 18:32:02455浏览

Why are my form values not being inserted into my MySQL database?

PHP:将表单中的值插入 MySQL

将表单中的值插入 MySQL 数据库是 Web 开发的常见任务。在 PHP 中,您可以使用 mysqli 扩展连接到数据库并执行查询。

但是,如果您遇到值未插入数据库的问题,请务必考虑以下事项:

已声明但未执行的查询:

$sql = "INSERT INTO users (username, password, email)
VALUES ('".$_POST["username"]."','".$_POST["password"]."','".$_POST["email"]."')";

此代码仅声明一个包含 MySQL 查询的字符串变量。要执行查询,您需要使用 mysqli_query 等函数或使用 mysqli_prepare、mysqli_bind_param 和 mysqli_execute 准备语句。

SQL 注入漏洞:

从不附加用户输入直接到您的查询。它可能导致 SQL 注入攻击,用户可以操纵输入来对数据库造成损坏。相反,请使用准备好的语句来防范此漏洞。

准备好的语句示例:

$sql = "INSERT INTO users (username, password, email)
VALUES (?,?,?)";

$stmt = $mysqli->prepare($sql);
$stmt->bind_param("sss", $_POST['username'], $_POST['email'], $_POST['password']);
$stmt->execute();

安全注意事项:

  • 不要以明文形式存储密码。使用password_hash来存储密码的哈希值。

请记住,应始终谨慎对待用户输入,并应实施准备好的语句等安全措施来防止漏洞。

以上是为什么我的表单值没有插入到我的 MySQL 数据库中?的详细内容。更多信息请关注PHP中文网其他相关文章!

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