首页 > 解决方案 > 使用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();
} 

标签: phpmysql

解决方案


推荐阅读