Php 使用2个输入值将数据插入MySql

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>

我有一个表,我想在MySql中插入两个值。但是,只有一个值进入我的数据库,而另一个值仍然为空

my mySql表的设计:

我的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="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?