使用3个不同的表更新第4个表

时间:2018-04-26 08:55:50

标签: php mysql

我有3个不同的表,我想用3个表中的每一个表中的某个特定列更新第4个表,它们都有一个公共密钥。我可以从phpmyadmin执行此操作,但我想使用php脚本执行此操作。 这是我尝试过的,但它不起作用

if (isset($_GET)) { 
    $update = '';
    $count="SELECT * FROM test2   ";          
    foreach ($connect->query($count) as $row) {
         $term_total1=$row['english'];
         $sql = "UPDATE total set `f_test` ='$term_total1'  ";
         foreach ($connect->query($count) as $row) {

             echo "success<br>" . $term_total1;
         }
    }  
}else{
    echo "try another method" . mysqli_error($connect);
}

现在已经尝试了几天。

为其他两个表重复相同的代码,但它不起作用。 是否可以在单个查询中执行此操作?如果是,那么如何

1 个答案:

答案 0 :(得分:0)

我非常确定使用foreach循环结果集的方法不正确。在您更新的代码中,您还没有唯一的标识符,因此您的代码只会批量更新您的表格。这里修复了当前代码,希望您能够了解如何从mysqli

循环数据集
$count="SELECT * FROM test2";     
if($res = $connect->query($count)){
    while($row = $res->fetch_assoc()){
        $term_total1 = $row['english'];
        $sql = "UPDATE total set `f_test` = '{$term_total1}'";
        if($res2 =$connect->query($sql)){
            echo "success<br>" . $term_total1;
        }else{
            print_r($connect->error());
        }

    }
}else{
     print_r($connect->error());
}