验证MySQL select查询已成功处理

时间:2018-05-31 07:37:14

标签: mysql codeigniter

我正在尝试验证选择查询是否已成功处理。 使用数据库事务,我们可以验证 INSERT,UPDATE,DELETE

如下面的Codeigniter

所示
$this->db->trans_begin();
//query
if($this->db->trans_status() == false){                 
     return ['error' => 1, 'message' => 'Error massage'];          
}

但它不适用于 SELECT查询。 有没有其他方法可以验证这一点。

实际上我的选择查询在场景

中会是这样的
SELECT (amount1+ 10 / 100) FROM test_table

上述查询中的公式(amount1 + 10/100)将从用户输入中解码。有时候来自用户的错误输入可能是这样的。

(金额1 + + 10/100)

所以当时select查询不会执行。

1 个答案:

答案 0 :(得分:1)

@sintakonte我提到的用户输入是公式构建器中的公式。 所以最后我做了一个简单的技巧来验证查询(公式)。 使用选择查询对表格执行插入更新。 在我的场景中,一旦我从选择查询中获得结果,我必须更新 表格中的一列。

$this->db->trans_begin();
$this->db->query("UPDATE table2 
                  JOIN ( 
                      SELECT (amount1+ 10 / 100) AS amnt, empID FROM test_table
                  ) AS calculationTB
                  ON calculationTB.empID = table2.empID AND 
                  SET fnTB.ssoEmployer=calculationTB.amnt");

if($this->db->trans_status() == false){                 
   return ['error' => 1, 'message' => 'Error massage'];          
}

$this->db->trans_commit();