我尝试的是验证select查询是否成功处理。使用DB transaction,我们可以验证插入、更新、删除
如下所示的Codeigniter
$this->db->trans_begin();
//query
if($this->db->trans_status() == false){
return ['error' => 1, 'message' => 'Error massage'];
}但它不适用于SELECT query。有没有其他方法来验证这一点。
实际上,我的select查询在场景中将如下所示
SELECT (amount1+ 10 / 100) FROM test_table上面查询中的公式(amount1+ 10 / 100)将根据用户输入进行解码。有时来自用户错误输入可能是这样的。
(amount1+ + 10 / 100)
因此,此时select查询将不会执行。
发布于 2018-05-31 17:43:11
@sintakonte我提到的用户输入是来自公式构建器的公式。因此,最后我做了一个简单的技巧来验证查询(公式)。使用select查询对表执行插入或更新。在我的场景中,一旦从select查询获得结果,我就必须更新表中的一列。
$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();https://stackoverflow.com/questions/50619078
复制相似问题