我正在尝试验证选择查询是否已成功处理。 使用数据库事务,我们可以验证 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查询不会执行。
答案 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();