php - 表单输入 POST 在 MySQL 中不显示任何结果
问题描述
我想在我的数据库中发布输入的用户电子邮件地址,但是没有错误,也没有任何内容发布到我的 MySQL 数据库中。
HTML
<form action="post.php" method="post">
<input id="email" name="email" type="email" class="hasHelp validateEmpty " required="required" value="" autocomplete="off" placeholder="E-Mail-Adresse" aria-describedby="emailErrorMessage">
<button class="button actionContinue scTrack:unifiedlogin-login-submit" type="submit" id="submit" name="submit" value="submit" pa-marked="1">Next</button></form>
POST.php
<?php
include('db_connect.php');
if(isset($_REQUEST['submit']))
{
$SQL = "INSERT INTO email (email) VALUES ($email)";
$result = mysql_query($SQL);
}
?>
db_connect.php
<?php
$mysqli = new mysqli("localhost", "username", "passwort", "database");
?>
D B:
Database: databasename
Table:email
email varchar(50)
为什么它不向我的数据库发布任何结果?
解决方案
好的,我确定您还有其他错误,所以我建议您通读这本书,这应该可以帮助您处理错误并使用 mysqli 连接到您的数据库。它还为您提供了将预编码信息插入数据库的指导。现在,开始实际从页面中获取信息并将其插入,您可能希望这样做$sql = "INSERT INTO email (email)
VALUES ('".$_POST["email"]."')"
第一个“电子邮件”查看您的表名,第二个是您实际希望数据输入的列名,第三个是发布的值“电子邮件”。如果您通读一开始链接的文档并应用此原则,您应该一切顺利,不是最安全或最华丽的方式,但应该可以完成工作。也改变$_REQUEST to $_POST
编辑:
这部分代码$result = mysql_query($SQL);
应该读作$result = mysqli_query($mysqli, $SQL);
.
您不能混合使用不同的 MySQL API。
然后mysqli_error($mysqli);
应该用于检查查询上的错误,并启用错误报告。
也使用准备好的语句,因为您的代码对 SQL 注入是开放的。
推荐阅读
- c# - 指定的网络密码不正确 X509Certificate2Collection.Import() 中的异常
- r - 如何在ggraph中根据类排列节点?
- arrays - 检查 BigQuery ARRAY 中是否有多个元素
- mysql - Laravel 使用选择框附加角色
- vb.net - 在单行 VB.NET 中尝试 Catch ex As Exception 是否有更短的方法?
- python - Python机器学习朴素贝叶斯分类
- python - 如何让 python 从我的代码输出中写入 csv 文件?
- javascript - html 输入的随机默认内联样式
- kubernetes - 我应该为 Kubernetes 入口清单中的主机使用什么值?
- javascript - 我需要帮助加快 React-Native 中的数组过滤/ListView(对其他方法开放)