php - 如何插入一个表并更新另一个表的计数

标签 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。我想在添加结果时增加每个测验的 results_count 。我的结果表还包含一个 init_quizz_id ,它是测验的实际 ID。 我是初学者,所以我正在寻找解决方案。 谢谢

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

最佳答案

@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);
}

关于php - 如何插入一个表并更新另一个表的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39730686/

相关文章:

php - 在 SQL 中找不到多个值

php - 连接问题和 2 个确切的列名

php - 如何通过 proc_open 后台进程并访问 STDIN?

php - 如何找到每个页面的所有标签,然后将标签拼接成一列?

php - Cakephp 加入无法在 Linux 上工作

php - 从 MySQL/PHP 中的多个表中删除的正确语法

php - MySQL 导出导入,外键 ID 自动递增

php - 数据库连接中的 OOP php 错误

mysql - 使用 ActiveRecord 急切加载数据库表

php - 将 mysqli 传递给类以供函数使用