只是抬头,我对此很新,但如果你能放弃一些知识,我真的很感激。
我有SQL表:
表'公司'其中包含' company_id'列为主键。
表&#39>用户'其中包含' company_id'列作为外键,引用'公司'桌子,当然。
注册后,会创建两种类型的用户。
经理 - 也创建公司
加入公司的普通用户
我希望普通用户拥有他注册的公司的company_id。用户使用唯一的company_code决定他注册的公司。
到目前为止,代码看起来像这样:
$sql = "SELECT company_id FROM companies WHERE company_code='$company_code';";
$result=mysqli_query($conn, $sql);
$row=mysqli_fetch_assoc($result);
$result=$row["company_id"];
$sql = "INSERT INTO users (firstName, lastName, email, user_uid, user_pwd, role, company_id) VALUES ('$first', '$last', '$email', '$uid', '$hashedPwd', '$role', '$result');";
mysqli_query($conn, $sql);
header("Location: ../signup.php?singup=success");
exit();
似乎一切正常,但不是始终为NULL的company_id列。知道我在这里做错了什么吗?
我已经考虑过将最后创建的user_id和与company_code匹配的company_id的值分配给变量并运行类似于此的查询:
UPDATE `users` SET `company_id` = '$company_id' WHERE `users`.`user_id` = $user_id;
但它确实让我的存在变得复杂化。
非常感谢!
答案 0 :(得分:2)
您在$result
行上命名了变量4
。
$result=$row["company_id"];
应该是:
$real_id = $row["company_id"];