[英]Inserting values to mysql database and retrieving them to insert to another table
我试图将值插入到名为pointofcontact的mysql数据库表中,然后检索名为pocid的主键以插入到另一个名为学生的表中。
不知何故,我的代码总是将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";
}
我还没有测试过,但是它应该可以满足您的需求:
// 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
}
检查数据库表设计中的POCID列。 创建该表时,必须将其添加为主键和auto_increment ...
CREATE TABLE table_name (id int primary key auto_increment,....)
如果您已经这样做,请使用mysqli_insert_id()获取最后插入的ID。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.