我想将输入的用户电子邮件地址发布到我的数据库中,但是没有错误,也没有发布到我的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");
?>
数据库:
Database: databasename
Table:email
email varchar(50)
为什么它不将任何结果发布到我的数据库?
答案 0 :(得分:1)
好的,我确定您还有其他错误,所以我建议您通读This,这将有助于您进行错误处理并使用mysqli连接到数据库。它还为您提供了有关将预编码信息插入数据库的指南。现在,进入
实际上是从您的页面中获取信息并将其插入,您可能希望通过这种方式$sql = "INSERT INTO email (email)
VALUES ('".$_POST["email"]."')"
第一个“ email”正在查看您的表名,第二个是您实际上希望数据输入的列名,第三个是发布值“ email”。如果您通读了开始时链接的文档并应用了此原理,那么您应该会很好,而不是最安全或最浮躁的方式,但应该可以完成工作。还要更改$_REQUEST to $_POST
编辑:
这部分代码$result = mysql_query($SQL);
应读为$result = mysqli_query($mysqli, $SQL);
。
不能混合使用不同的MySQL API。
然后,mysqli_error($mysqli);
应该用于检查查询中的错误并启用错误报告。
由于您的代码可以进行SQL注入,因此也请使用预处理语句。