如何插入1个表并更新另一个

时间:2016-09-27 17:15:49

标签: php mysql mysqli

我的插入查询是:

function CreateResult($init_quizz_id,$result_title,$result_image,$result_description) {
$sql = "INSERT  INTO result_quizz(init_quizz_id,result_title
        ,result_image,result_description) 
        VALUES('$init_quizz_id','$result_title','$result_image','$result_description')";



if ( $GLOBALS['conn']->query($sql) === TRUE) {

            echo "Result Added";

     $sql2 = "UPDATE 'init_quizz' SET 'results_count' = 'results_count' +1 WHERE 'quizz_id' = '$init_quizz_id'";

    $GLOBALS['conn']->query($sql2);
 if (!$GLOBALS['conn']->query($sql2)) {
    echo ' NO UPDATE';

 }
}
}

让我说我有问题的init_quizz表,另一个表quizz_results。我想在添加结果时增加每个quizz的results_count。我的结果表也是一个init_quizz_id,它是quizz的实际ID。 我是初学者所以我正在寻找任何解决方案。 感谢

编辑:修复第二个查询(sql2)上的错误并获取“未更新”消息。好像我的第二个查询完全错误。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

@barmar是对的,我为我的计数器找到了一个更好的解决方案,而不是UPDATE,我只是从结果表中返回受影响的行quizz_id。

function GetResultsCountByID($quizz_id) {
    global $conn;
     $sql = "SELECT * FROM result_quizz WHERE init_quizz_id = '$quizz_id'";

    $result = $conn->query($sql);
    return  mysqli_affected_rows($conn);
}