我想通过在表单上输入字段来填充数据库中的所有字段,但它不会填充我的数据库。
我不知道它怎么了:
<?php
$handle = mysql_connect("", "root" , "");
return mysql_select_db("bonggarden", $handle);
$SQL = "INSERT INTO table1(fname,femail,fphone,fmsg)
values('".$_POST['name']."','".$_POST['email']."','".$_POST['number']."','".$_PO ST['message']."')";
mysql_query($SQL);
?>
这是我的表格
<form id="main-contact-form" accept-charset="utf-8" class="" method="post" >
<div class="col-sm-5 col-sm-offset-1">
<div class="form-group">
<label>Name *</label>
<input type="text" name="name" id="name" class="form-control" required="required">
</div>
<div class="form-group">
<label>Email *</label>
<input type="email" name="email" id="email" class="form-control" required="required">
</div>
<div class="form-group">
<label>Phone *</label>
<input type="text" name="number" id="number" class="form-control">
</div>
</div>
<div class="col-sm-5">
<div class="form-group">
<label>Message *</label>
<textarea name="message" id="message" required="required" class="form-control" rows="8"></textarea>
</div>
<div class="form-group">
<button type="submit" name="submit" class="btn btn-primary btn-lg" required="required">Submit Message</button>
</div>
</div>
</form>
<?php
$fname = $_POST['name'];
$femail = $_POST['email'];
$fphone = $_POST['number'];
$fmsg = $_POST['message'];
$handle = mysql_connect("localhost", "root" , "");
mysql_select_db("bonggarden", $handle);
$SQL = "INSERT INTO table1(fname,femail,fphone,fmsg) values('$fname','$femail','$fphone','$fmsg')";
mysql_query($SQL);
?>
//如果它仍然不起作用,那么echo变量$fname、$femail、$fphone、$fmsg的检查值是否正在veriable中。
尝试更改
return mysql_select_db("bonggarden", $handle);
至
mysql_select_db("bonggarden", $handle);
返回是在执行插入之前退出代码。。。
您不需要中的"return"
return mysql_select_db("bonggarden", $handle);
您还可以考虑将服务器的位置添加到"mysql_connect"函数中。例如:
mysql_connect("localhost","root","");
还有几个建议:
1.)从组织上讲,将$_POST中的值分配给变量可能会更容易查看您要发送到数据库的值。
2.)添加一个die函数,如果您的代码无法运行,该函数会输出MySQL错误。这通常有助于调试和找出错误的一般位置。例如:
mysql_query($SQL) or die(mysql_error());
3.)最后,这个网站上说了很多,考虑切换到MySQLi,因为出于安全原因,传统的"mysql_"命令现在已被弃用。