php - 使用php pdo更新查询mysql中的多个表还检查数据库关系
问题描述
我正在尝试更新 mysql 数据库的三个表。我尝试了两种方法,但没有发生。问题是,有人可以检查我的数据库表并查看关系,然后检查我的查询是否有效我的表如下:
projects | students | progress
============================================
Pk ProjectID | PK RegNo | PK ProgressID
ProjectTitle | Name | FK RegNo
| FK ProjectID |
我尝试了不同的方法来实现我的更新。
$query= "UPDATE progress SET RegNo='$s1_id'
WHERE RegNo IN(SELECT RegNo FROM students WHERE ProjectID = '$id');
UPDATE students SET RegNo='$s1_id', Name='$s1_name'
WHERE ProjectID = '$id';
UPDATE projects SET ProjectTitle='$ptitle'
WHERE ProjectID='$id';";
第二种方式
$query = "UPDATE projects
INNER JOIN students ON students.ProjectID = projects.ProjectID
INNER JOIN progress ON students.RegNo = progress.RegNo
SET projects.ProjectTitle = '$ptitle',
students.RegNo = '$s1_id',
students.Name = '$s1_name' ,
progress.RegNo = '$s1_id'
WHERE projects.ProjectID = '$id' ";
try
{
$stmt = $conn->prepare( $query );
$result = $stmt->execute();
$msg = "Record updated";
header("location:adminhome.php");
}
catch(PDOException $ex)
{
$msg = $ex -> getMessage();
}
解决方案
推荐阅读
- reporting-services - 自定义 SSRS 数据处理扩展未在服务器上列出
- java - Exoplayer FFMPEG 问题。添加 Exoplayer FFMPEG 扩展后,视频在第一帧冻结
- java - 令牌清理器 Java 方法
- javascript - 即使在查询中使用 rand() 后,PHP 中的 SQL 选择查询每次都会给出相同的输出
- python - 代码段中的 NameError
- elasticsearch - Logstash 无法检索存储在 logstash-keystore 中的密钥
- spring - 限制 spring rest docs 中响应数组的数量
- ruby-on-rails - 使用 Rails Arel 从块生成复杂的单个 SQL 查询
- javascript - 类型“未知”.ts(2339) 上不存在属性“名称”
- function - Powershell调用函数在if语句中带有参数