Php 无法将表单中的数据插入mysql

Php 无法将表单中的数据插入mysql,php,html,mysql,Php,Html,Mysql,有人能解释一下为什么这个插件不起作用吗 if(isset($_POST['send'])){ $query = 'INSERT INTO subsciber(data, ip, email) VALUES(CURRENT_TIMESTAMP, "'.$_SERVER['REMOTE_ADDR'].'", "'.$_POST['email'].'")'; $result = @mysqli_query($dbc, $query); } 表单代码如下所示:

有人能解释一下为什么这个插件不起作用吗

if(isset($_POST['send'])){
    $query = 'INSERT INTO subsciber(data, ip, email) 
          VALUES(CURRENT_TIMESTAMP, "'.$_SERVER['REMOTE_ADDR'].'", "'.$_POST['email'].'")';
    $result =  @mysqli_query($dbc, $query);
}
表单代码如下所示:

<div class="row">
     <div class="col-md-4 col-md-offset-4 col-sm6-6 col-sm-offset-3 ">
         <form class="form-inline" role="form" method="post">
            <div class="form-group">
                <label class="sr-only" for="exampleInputEmail2">Email address</label>
                <input name='email' id="email" type="email" class="form-control transparent" placeholder="Your email here...">
            </div>
            <button type="submit" name='send' value='send' class="btn btn-danger btn-fill">Notify Me</button>
        </form>
    </div>
</div>

电子邮件地址
通知我

您的表单没有操作属性:

这样做:

<form action="the url to your PHP script">

更换

@mysqli_query($dbc, $query);


您应该包括
mysqli
error
函数
来查看您的错误

    if(isset($_POST['send'])){
        $query = 'INSERT INTO subsciber(data, ip, email) 
              VALUES(CURRENT_TIMESTAMP, "'.$_SERVER['REMOTE_ADDR'].'", "'.$_POST['email'].'")';
//echo $query; to see query output
        $result =  mysqli_query($dbc, $query) or die(mysqli_error($dbc));
    }
另外,
数据
是mysqli
关键字
,所以在这一点上使用
backtick

 $query = 'INSERT INTO subsciber(`data`, ip, email) 
                  VALUES(CURRENT_TIMESTAMP, "'.$_SERVER['REMOTE_ADDR'].'", "'.$_POST['email'].'")';

您可以使用双引号代替单引号

试试这个

if(isset($_POST["send"])) {
    .....
}

返回的错误是什么显示给我们
$dbc
。你们有和数据库的连接吗?你在
$\u POST['email']
中有什么价值吗?有任何错误吗?您应该在开发模式下进行错误报告。切勿使用@隐藏错误。
数据
可能是一个
保留字
,除非使用
反勾号
,否则不应将其用作
列名。这有什么区别?
send
中没有任何东西会因报价类型的不同而表现出不同的行为。我曾经遇到过同样的问题,然后我将单报价改为双报价。这一定是其他问题。看,那没用
mysqli\u query()
不会自动报告MySQL错误,您必须打印
mysqli\u错误($dbc)
。默认情况下,使用与页面本身相同的URL。如果PHP脚本与HTML表单位于同一文件中,则它是一个关键字,但不是保留的。
if(isset($_POST["send"])) {
    .....
}