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"])) {
.....
}