您好,我搜索了另一种将记录从 php 表单插入到 xampp 的方法。我遇到了这个:https://www.youtube.com/watch?v=aXcp7IYi41Q
我结合了上一个问题的所有答案并将我的代码更改为:
HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/font-awesome.min.css">
<link rel="stylesheet" href="css/style.css">
<title>BOOTSTRAP</title>
</head>
<body>
<div class="inquiry col-md-6">
<h1>Inquire Now</h1>
<form method="post" action="insert.php" id="frmBox" onsubmit="return formSubmit();">
<div class="form-group">
<label for="InputName">Name*</label>
<input class="form-control" type="text" id="inputName" placeholder="Name" name="CustName">
</div>
<div class="form-group">
<label for="InputLocation">Location*</label>
<input class="form-control" type="text" id="inputLocation" placeholder="Location" name="Location">
</div>
<div class="form-group">
<label for="SelectDate">Date of Event*</label>
<select class="form-control" id="SelectMonth" name="Month">
<option>Jan</option>
<option>Feb</option>
<option>Mar</option>
<option>Apr</option>
<option>May</option>
<option>Jun</option>
<option>Jul</option>
<option>Aug</option>
<option>Sept</option>
<option>Oct</option>
<option>Nov</option>
<option>Dec</option>
</select>
<select class="form-control" id="SelectDay" name="Day">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
<option>11</option>
<option>12</option>
<option>13</option>
<option>14</option>
<option>15</option>
<option>16</option>
<option>17</option>
<option>18</option>
<option>19</option>
<option>20</option>
<option>21</option>
<option>22</option>
<option>23</option>
<option>24</option>
<option>25</option>
<option>26</option>
<option>27</option>
<option>28</option>
<option>29</option>
<option>30</option>
<option>31</option>
</select>
<select class="form-control" id="selectYear" placeholder="Year" name="Year">
<option>2017</option>
<option>2018</option>
<option>2019</option>
<option>2020</option>
<option>2021</option>
<option>2022</option>
</select>
</div>
<div class="form-group">
<label for="InputNumber">Number of Guests*</label>
<input class="form-control" type="Number" id="inputNumber" placeholder="Number" name="Guests">
</div>
<div class="form-group">
<label for="InputContact">Contact Number*</label>
<input class="form-control" type="text" id="inputContact" placeholder="Contact Number" name="ContactNum">
</div>
<input class="btn btn-default" type="submit" value="submit" name="submit">
</form>
</div>
</div>
</div>
<!--SCRIPT-->
<script type="text/javascript" src="js/jquery-3.2.1.min.js"></script>
<script type="text/javascript">
function formSubmit(){
$.ajax({
type:'POST',
url:'insert.php',
data:$('#frmBox').serialize(),
success:function(response){
$('#success').html(response);
}
});
var form=document.getElementById('frmBox').reset();
return false;
}
</script>
<script src="js/jquery-3.2.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/script.js"></script>
</body>
</html>
这个用于 insert.php
?php
$servername="localhost";
$username="root";
$dbpassword="";
$dbname="catering";
$conn=mysqli_connect($servername,$username,$dbpassword,$dbname);
if(!$conn){
die("Could Not Connect:".mysqli_connect_error());
}
else{
$CustName=test_input($_POST['CustName']);
$Location=test_input($_POST['Location']);
$Month=test_input($_POST['Month']);
$Day=test_input($_POST['Day']);
$Year=test_input($_POST['Year']);
$Guests=test_input($_POST['Guests']);
$ContactNum=test_input($_POST['ContactNum']);
$sql="INSERT INTO inquiry(CustName,Location,Month,Day,Year,Guests,ContactNum)VALUES('$CustName','$Location','$Month','$Day','$Year','$Guests','$ContactNum')";
if(mysqli_query($conn,$sql)){
echo "Thank you for Inquiring";
}
else{
echo "Failed to Inquire. Please try again";
}
mysqli_close($conn);
}
function test_input($data){
$data=trim($data);
$data=stripslashes($data);
$data=htmlspecialchars($data);
}
?>
现在它比我以前的代码更好,我在本地主机上运行它,当我提交我的测试信息时,比如姓名、位置、月、日、年、客人和联系电话,然后我点击提交,对吧? url 不再更改,这意味着它已成功连接到数据库。但是当我进入 mySQL 数据库时,它产生了这个结果:
PIC OF DATABASE 正如你们所见,它全为零,并且只出现在 Guests 和 ContactNum 中。第一次尝试提交,我得到了两个结果,然后我又试了很多次。全为零且仅出现在两列上。你们认为这里可能是什么问题?会不会是服务器错误,设置错误,安装错误?还是声明错误?名字不符?我可能会错过什么?请帮忙。谢谢。
这是我之前的问题以供引用:Submission of PHP Form to XAMPP MySQL database
最佳答案
我终于解决了这个问题。我只是更改了表名:
CustName > customer_name
Location > customer_location
Month > date_month
Day > date_day
Year > date_year
Guests > number_guests
ContactNum > customer_contact
关于php - 将 PHP 表单插入到 MySQL 数据库会产生重复的意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46500173/