在MySql php

时间:2017-07-08 05:42:04

标签: php mysql database

我在MySql中有两个表,它们是表1和表2.因为我想通过userID链接表1到2。但是,我出来的功能不起作用。

MySQl表如下:

enter image description here

enter image description here

在我的例子中,userId将是链接这两个表的外键。 但是,我的功能不起作用。 这是我的功能如下:

function insert() {
    function adduserdetails($con, $accountId, $name, $contact) {

        $query = "insert into userdetails(accountId,name,contact) 
            values('$accountId','$name','$contact')";
        //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');
        }
    }

}

if ($con->query($query) === TRUE) {
    $last_id = $con->insert_id;
    echo "New record created successfully. Last inserted ID is: " . $last_id;
} else {
    echo "Error: " . $query . "<br>" . $con->error;
}

function adduseremployment($con,$last_id,$occupationMain,$comapny){

    $query1 = "insert into useremployment(userId,Occupation,company) 
            values('$last_id',$occupationMain','$comapny')";            
                 //echo "{$sqlString}";


                 $insertResult = mysqli_query($con, $query1);


                 if($insertResult){
                     echo " Applicant Detail Added !<br />";
                     echo "<a href='index.php'>Back to Home</a>";
                 }
                 else {
                     echo " Error !";
                     echo "{$query1}";
                     //header('Location: post.php');
                 }


}

3 个答案:

答案 0 :(得分:0)

在第二个插入中,您使用了错误的列名(userID而不是accountID)

   $query1 = "insert into useremployment(userID,Occupation,company) 
                                         ^^^^^^ here
          values('$last_id',$occupationMain','$comapny')";            

在函数签名和正文中你有comapny(可能是你想要的公司)

答案 1 :(得分:0)

你有垂直表。

检查以下代码,

  

请记住prepare声明。

<?php
    function addUser(){
        // parent table.
        $queryParent = ''; // Your userdetails table insert query
        $insertResult = mysqli_query($con, $queryParent);
        $userId = mysqli_insert_id($con); // This is your last inserted userId.

        // child table.
        $queryChild = ''; // Your useremployment table insert query with userId.
        $insertResult = mysqli_query($con, $queryChild);
    }
?>

答案 2 :(得分:0)

您的查询错误,请检查一下,

$query1 = "insert into useremployment(userId,occupation,company) 
        values('$last_id',$occupationMain','$comapny')";  

您必须将记录存储在userId上,而不是“accountID”。

希望它有所帮助,