使用PHP更新外键值
我一直在用另一个表中的值更新一个表。假设我有以下表格:使用PHP更新外键值,php,mysql,sql-update,foreign-keys,Php,Mysql,Sql Update,Foreign Keys,我一直在用另一个表中的值更新一个表。假设我有以下表格: Persons table PersonId (pk), Name, StateId (fk) States table StateId (pk), Level 我在两个输入中显示姓名及其对应的级别,得到具有以下代码的人员: $sel=“选择姓名,人员级别P在P.StateID=S.StateID上加入状态S,其中PersonID=:pid”; $stm=$pdo->prepare($sel); $stm->execute(数
Persons table
PersonId (pk),
Name,
StateId (fk)
States table
StateId (pk),
Level
我在两个输入中显示姓名及其对应的级别,得到具有以下代码的人员:
$sel=“选择姓名,人员级别P在P.StateID=S.StateID上加入状态S,其中PersonID=:pid”;
$stm=$pdo->prepare($sel);
$stm->execute(数组(“:pid”=>$\u GET['personId']);//来自呼叫页面的personId
$person=$stm->fetch(PDO::fetch_ASSOC)代码>我找到了一个解决方案,结果是一个SQL问题:
我更改了$update
字符串,以选择StateID
where-Level=标签包含的内容
$update = "UPDATE Persons SET Name = :name, StateID = (SELECT StateID FROM States WHERE Level = :level) WHERE PersonID = :pid";
我找到了一个解决方案,结果是一个SQL问题:
我更改了$update
字符串,以选择StateID
where-Level=标签包含的内容
$update = "UPDATE Persons SET Name = :name, StateID = (SELECT StateID FROM States WHERE Level = :level) WHERE PersonID = :pid";
您好,为什么连续两次使用$update
变量?恐怕第一个没有用,它会立即被覆盖。这是我解决问题的一次尝试(未成功),我已将其删除。谢谢你的指点!您好,为什么连续两次使用$update
变量?恐怕第一个没有用,它会立即被覆盖。这是我解决问题的一次尝试(未成功),我已将其删除。谢谢你的指点!