Php 使用2个输入值将数据插入MySql
我有一个表,我想在MySql中插入两个值。但是,只有一个值进入我的数据库,而另一个值仍然为空 my mySql表的设计: 我的Html表格代码如下:Php 使用2个输入值将数据插入MySql,php,html,mysql,database,Php,Html,Mysql,Database,我有一个表,我想在MySql中插入两个值。但是,只有一个值进入我的数据库,而另一个值仍然为空 my mySql表的设计: 我的Html表格代码如下: <table> <tr> <th></th> <th>Main Applicant</th> <th>Joint Applicant1</th> </tr> <tr>
<table>
<tr>
<th></th>
<th>Main Applicant</th>
<th>Joint Applicant1</th>
</tr>
<tr>
<td>Name</td>
<td><input type="text" id="nameMain" name="nameMain" class="form-control" autocomplete="off" required></td>
<td><input type="text" id="nameJoint1" name="nameJoint1" class="form-control" autocomplete="off" required></td>
</tr>
<tr>
<td>Nationality(Country)</td>
<td><input type="text" id="nationMain" name="nationMain" class="form-control" autocomplete="off" required></td>
<td><input type="text" id="nationJoint1" name="nationJoint1" class="form-control" autocomplete="off" required></td>
</tr>
<tr>
<td>Age</td>
<td><input type="number" id="ageMain" name="ageMain" class="form-control" autocomplete="off" required></td>
<td><input type="number" id="ageJoint1" name="ageJoint1" class="form-control" autocomplete="off" required></td>
</tr>
<?php
require_once 'db/dbfunction.php';
require_once 'db/dbCreditAssessment.php';
session_start();
$con = open_connection();
$name = $_POST['nameMain'];
$nationality = $_POST['nationMain'];
$age = $_POST['ageMain'];
$nameJoint1 = $_POST['nameJoint1'];
$nationJoint1 = $_POST['nationJoint1'];
$ageJoint1 = $_POST['ageJoint1'];
addApplicantPersonalDetails($con,$name,$nationality,$age);
addApplicantPersonalDetails2($con,$name,$nationality,$age);
close_connection($con);
?>
<?php
function addApplicantPersonalDetails($con,$name,$nationality,$age){
$query = "insert into zzz(name,nationality,age)
values('$name','$nationality','$age')";
//echo "{$sqlString}";
$insertResult = mysqli_query($con, $query);
if($insertResult){
echo " Applicant Detail Added !<br />";
echo "<a href='index.php'>Back to Home</a>";
}
else {
echo " Error !";
echo "{$query}";
//header('Location: post.php');
}
}
function addApplicantPersonalDetails2($con,$name,$nationality,$age){
$query2 = "insert into zzz(name,nationality,age)
values('$nameJoint1','$nationJoint1','$ageJoint1')";
$insertResult2 = mysqli_query($con, $query2);
if($insertResult2){
echo " Applicant Detail Added !<br />";
echo "<a href='index.php'>Back to Home</a>";
}
else {
echo " Error !";
echo "{$query2}";
//header('Location: post.php');
}
}
?>
我的post.php代码如下:
<table>
<tr>
<th></th>
<th>Main Applicant</th>
<th>Joint Applicant1</th>
</tr>
<tr>
<td>Name</td>
<td><input type="text" id="nameMain" name="nameMain" class="form-control" autocomplete="off" required></td>
<td><input type="text" id="nameJoint1" name="nameJoint1" class="form-control" autocomplete="off" required></td>
</tr>
<tr>
<td>Nationality(Country)</td>
<td><input type="text" id="nationMain" name="nationMain" class="form-control" autocomplete="off" required></td>
<td><input type="text" id="nationJoint1" name="nationJoint1" class="form-control" autocomplete="off" required></td>
</tr>
<tr>
<td>Age</td>
<td><input type="number" id="ageMain" name="ageMain" class="form-control" autocomplete="off" required></td>
<td><input type="number" id="ageJoint1" name="ageJoint1" class="form-control" autocomplete="off" required></td>
</tr>
<?php
require_once 'db/dbfunction.php';
require_once 'db/dbCreditAssessment.php';
session_start();
$con = open_connection();
$name = $_POST['nameMain'];
$nationality = $_POST['nationMain'];
$age = $_POST['ageMain'];
$nameJoint1 = $_POST['nameJoint1'];
$nationJoint1 = $_POST['nationJoint1'];
$ageJoint1 = $_POST['ageJoint1'];
addApplicantPersonalDetails($con,$name,$nationality,$age);
addApplicantPersonalDetails2($con,$name,$nationality,$age);
close_connection($con);
?>
<?php
function addApplicantPersonalDetails($con,$name,$nationality,$age){
$query = "insert into zzz(name,nationality,age)
values('$name','$nationality','$age')";
//echo "{$sqlString}";
$insertResult = mysqli_query($con, $query);
if($insertResult){
echo " Applicant Detail Added !<br />";
echo "<a href='index.php'>Back to Home</a>";
}
else {
echo " Error !";
echo "{$query}";
//header('Location: post.php');
}
}
function addApplicantPersonalDetails2($con,$name,$nationality,$age){
$query2 = "insert into zzz(name,nationality,age)
values('$nameJoint1','$nationJoint1','$ageJoint1')";
$insertResult2 = mysqli_query($con, $query2);
if($insertResult2){
echo " Applicant Detail Added !<br />";
echo "<a href='index.php'>Back to Home</a>";
}
else {
echo " Error !";
echo "{$query2}";
//header('Location: post.php');
}
}
?>
我的addCreditAssessment.php代码如下:
<table>
<tr>
<th></th>
<th>Main Applicant</th>
<th>Joint Applicant1</th>
</tr>
<tr>
<td>Name</td>
<td><input type="text" id="nameMain" name="nameMain" class="form-control" autocomplete="off" required></td>
<td><input type="text" id="nameJoint1" name="nameJoint1" class="form-control" autocomplete="off" required></td>
</tr>
<tr>
<td>Nationality(Country)</td>
<td><input type="text" id="nationMain" name="nationMain" class="form-control" autocomplete="off" required></td>
<td><input type="text" id="nationJoint1" name="nationJoint1" class="form-control" autocomplete="off" required></td>
</tr>
<tr>
<td>Age</td>
<td><input type="number" id="ageMain" name="ageMain" class="form-control" autocomplete="off" required></td>
<td><input type="number" id="ageJoint1" name="ageJoint1" class="form-control" autocomplete="off" required></td>
</tr>
<?php
require_once 'db/dbfunction.php';
require_once 'db/dbCreditAssessment.php';
session_start();
$con = open_connection();
$name = $_POST['nameMain'];
$nationality = $_POST['nationMain'];
$age = $_POST['ageMain'];
$nameJoint1 = $_POST['nameJoint1'];
$nationJoint1 = $_POST['nationJoint1'];
$ageJoint1 = $_POST['ageJoint1'];
addApplicantPersonalDetails($con,$name,$nationality,$age);
addApplicantPersonalDetails2($con,$name,$nationality,$age);
close_connection($con);
?>
<?php
function addApplicantPersonalDetails($con,$name,$nationality,$age){
$query = "insert into zzz(name,nationality,age)
values('$name','$nationality','$age')";
//echo "{$sqlString}";
$insertResult = mysqli_query($con, $query);
if($insertResult){
echo " Applicant Detail Added !<br />";
echo "<a href='index.php'>Back to Home</a>";
}
else {
echo " Error !";
echo "{$query}";
//header('Location: post.php');
}
}
function addApplicantPersonalDetails2($con,$name,$nationality,$age){
$query2 = "insert into zzz(name,nationality,age)
values('$nameJoint1','$nationJoint1','$ageJoint1')";
$insertResult2 = mysqli_query($con, $query2);
if($insertResult2){
echo " Applicant Detail Added !<br />";
echo "<a href='index.php'>Back to Home</a>";
}
else {
echo " Error !";
echo "{$query2}";
//header('Location: post.php');
}
}
?>
您的第二个函数是错误的: 你的职能是:
addApplicantPersonalDetails2($con,$name,$nationality,$age)
按照以下方式编写SQL:
$query2 = "insert into zzz(name,nationality,age)
values('$name','$nationality','$age')";
您从$\u POST请求设置旧变量,而不是从函数设置旧变量我认为这里有两个错误。 第一个是在这个调用中,使用与上面相同的参数:
addApplicantPersonalDetails2($con,$name,$nationality,$age);
我想你的意思是:
addApplicantPersonalDetails2($con,$nameJoint1,$nationJoint1,$ageJoint1);
其次,正如@FrayneKonok和@Richard所指出的,您在函数体内的查询中使用了错误的形式参数。您将收到$name、$national、$age,并在第二个函数addAppliantPersonalDetails2中插入“$nameJoint1”、“$nationJoint1”、“$ageJoint1”
您需要对这两个函数使用相同的查询。
您的第二个查询应该是:
$query2 = "insert into zzz(name,nationality,age) values('$name','$nationality','$age')";
或者您可以使用“$nameJoint1”、“$nationJoint1”、“$ageJoint1”更改函数参数。您使用的变量不是定义为什么为空的函数的变量 你喜欢这样吗
function addApplicantPersonalDetails2($con,$nameJoint1,$nationJoint1,$ageJoint1){
$query2 = "insert into zzz(name,nationality,age)
values('$nameJoint1','$nationJoint1','$ageJoint1')";
$insertResult2 = mysqli_query($con, $query2);
if($insertResult2){
echo " Applicant Detail Added !<br />";
echo "<a href='index.php'>Back to Home</a>";
}
else {
echo " Error !";
echo "{$query2}";
//header('Location: post.php');
}
}
它将为您工作。您可以对这两个字段使用name[],而不是使用nameMain和nameJoint1
在post.php上,名称用户输入将属于$\u post['name']数组
这样您就可以使用for循环来提交所有这些数据
因此,您的html文件如下所示:
<table>
<tr>
<th></th>
<th>Main Applicant</th>
<th>Joint Applicant1</th>
</tr>
<tr>
<td>Name</td>
<td><input type="text" id="nameMain" name="name[]" class="form-control" autocomplete="off" required></td>
<td><input type="text" id="nameJoint1" name="name[]" class="form-control" autocomplete="off" required></td>
</tr>
<tr>
<td>Nationality(Country)</td>
<td><input type="text" id="nationMain" name="nation[]" class="form-control" autocomplete="off" required></td>
<td><input type="text" id="nationJoint1" name="nation[]" class="form-control" autocomplete="off" required></td>
</tr>
<tr>
<td>Age</td>
<td><input type="number" id="ageMain" name="age[]" class="form-control" autocomplete="off" required></td>
<td><input type="number" id="ageJoint1" name="age[]" class="form-control" autocomplete="off" required></td>
</tr>
然后,您的函数将如下所示:
function addApplicantPersonalDetails($con,$name,$nationality,$age){
if(count($name) == count($nationality) == count($age) = $count){
for($i = 0; $i < $count; $i++){
$query = "insert into zzz(name,nationality,age)
values('$name[$i]','$nationality[$i]','$age[$i]')";
//echo "{$sqlString}";
$insertResult = mysqli_query($con, $query);
}
if($insertResult){
echo " Applicant Detail Added !<br />";
echo "<a href='index.php'>Back to Home</a>";
}
else {
echo " Error !";
echo "{$query}";
//header('Location: post.php');
}
}
POST.PHP
更改变量名
addApplicantPersonalDetails2($con,$nameJoint1,$nationJoint1,$ageJoint1);
addCreditAssessment.php
您将收到$name、$national、$age,并在第二个函数addapplicationpersonaldetails处插入“$nameJoint1”、“$nationJoint1”、“$ageJoint1”。请检查我给出的答案:是否缺少$count?