问题:
将 HTML 表单中的值插入 MySQL 数据库是没有执行成功,数据库仍然存在空。
解决方案:
提供的 PHP 代码包含存储为字符串变量的 SQL 查询:
$sql = "INSERT INTO users (username, password, email) VALUES ('".$_POST["username"]."','".$_POST["password"]."','".$_POST["email"]."')";
但是,此查询是没有被执行。要执行查询,您需要使用准备语句等 MySQL 函数来确保数据的安全性和完整性。
最佳实践:使用准备语句
准备语句通过将查询与用户输入分开来防止 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中文网其他相关文章!