PHP表单无错误不插入

PHP表单无错误不插入,php,forms,Php,Forms,我有一个表单,在下面,它工作了一段时间,但是由于某种原因,代码现在已经停止插入用户将通过表单输入的内容。表单工作后,我唯一更改的是样式,数据库站点上没有更改,也没有插入数据 当我点击Submit按钮时,我没有收到任何错误,它会将我带到我希望表单也包含用户的页面 <form action="insert.php" method="post"> <p> <label for="firstName">First Name:</label>

我有一个表单,在下面,它工作了一段时间,但是由于某种原因,代码现在已经停止插入用户将通过表单输入的内容。表单工作后,我唯一更改的是样式,数据库站点上没有更改,也没有插入数据

当我点击Submit按钮时,我没有收到任何错误,它会将我带到我希望表单也包含用户的页面

<form action="insert.php" method="post">
<p>
    <label for="firstName">First Name:</label>
    <input type="text" name="name" id="Name">
</p>
<p>
    <label for="emailAddress">Email Address:</label>
    <input type="text" name="email" id="email">
</p>
<input type="submit" value="Submit">


名字:

电邮地址:

我的PHP代码是:

<?php
$link = mysqli_connect("localhost", "root", "root", "travelsite");
// Check connection
if($link === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}
// Escape user inputs for security
$first_name = mysqli_real_escape_string($link, $_REQUEST['name']);
$email = mysqli_real_escape_string($link, $_REQUEST['email']);

// attempt insert query execution
$sql = "INSERT INTO subscribe (name, email) VALUES ('$name', '$email')";
if(mysqli_query($link, $sql)){
echo "Records added successfully.";
} else{
echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}

尝试使用
$\u POST['name']
$\u POST['email']

同样正如评论中提到的:你把你的变量搞混了。(thx@NitinP)

还可以尝试使用prepare语句,如:

/* create a prepared statement */
if ($stmt = mysqli_prepare($link, "INSERT INTO subscribe (name, email) VALUES (?, ?)")) {

    /* bind parameters for markers */
    mysqli_stmt_bind_param($stmt, "ss", $name, $email); /*or $first_name*/

    /* execute query */
    mysqli_stmt_execute($stmt);

    printf("%d Row inserted.\n", mysqli_stmt_affected_rows($stmt));

    /* close statement */
    mysqli_stmt_close($stmt);
}

有关更多信息,请参见查询中的

$name
必须是
$first\u name
表单标签未在htmlI中关闭我在处理时错过了表单标签。如果你说表单用于工作,那么你肯定改变的不仅仅是样式。如果你阅读@NitinP的评论,你就会明白为什么上面的代码不起作用。是的,谢谢你指出它-这并没有解决问题。这是一个非常不完整的预处理语句示例。您需要设置占位符并绑定参数。我知道:)我只是在描述prepare语句。我将添加更多信息的链接。请记住,许多访问者只是看到答案中的内容,并认为这是正确的选择。您应该只是提到OP应该使用它(没有示例)作为进一步阅读的参考,或者包括一个完整的示例。@DomenikReitzner请您提供关于它的更多信息。大约需要5分钟