将值插入mysql数据库并检索它们以插入另一个表

时间:2016-11-15 06:04:40

标签: php mysqli

我试图将值插入到名为pointofcontact的mysql数据库表中,然后检索名为pocid的主键以插入到另一个名为students的表中。

不知何故,我的代码总是将pocid返回为0,我不知道为什么。很高兴得到一些帮助。任何帮助将不胜感激!这是我的代码:

$query="insert into pointofcontact(Username,Password,FirstName,LastName,ContactNumber,EmailAddress,Address,Gender,Status,BackupContactNumber,ProfilePic) values ('$username','$password','$firstname','$lastname','$mobilenumber','$email','$address','$gender','Normal','$backup','$attch')";
    if($con->query($query) === TRUE)
    {
        $query2="select POCID from pointofcontact where username= '$username'";
        $result2=$con->query($query2);
        if($result2 ->num_rows > 0)
        {
            while($row2 = $result2->fetch_assoc())
            {
                $pocid = $row2['POCID'];
                $query3= "insert into student(StudentFirstName, StudentLastName, Allergies, NRIC, POCID) values ('$cfirstname','$clastname','$callergies','$cnric','$POCID')";
            }
            if($con->query($query3) === TRUE)
            {

            }
            else
            {

            }
        }
    }
    else
    {
        echo "error";
    }

2 个答案:

答案 0 :(得分:1)

我还没有测试过这个,但它应该做你需要的:

// assuming proper validation and escaping is completed...

if($con->query("INSERT INTO pointofcontact (Username,Password,FirstName,LastName,ContactNumber,EmailAddress,Address,Gender,Status,BackupContactNumber,ProfilePic) VALUES ('$username','$password','$firstname','$lastname','$mobilenumber','$email','$address','$gender','Normal','$backup','$attch');"){
    $POCID=$con->insert_id;
    if($con->query("INSERT INTO student (StudentFirstName, StudentLastName, Allergies, NRIC, POCID) VALUES ('$cfirstname','$clastname','$callergies','$cnric','$POCID');")){
        // Pass
    }else{
        // Fail
    }
}else{
    // Fail
}

答案 1 :(得分:0)

检查数据库表设计中的POCID列。创建该表时,必须将其添加为主键和auto_increment ...

CREATE TABLE table_name (id int primary key auto_increment,....)

如果您已经这样做了,请使用mysqli_insert_id()获取最后插入的ID。

相关问题