gpt4 book ai didi

php - mysql 事务未提交 Codeigniter 3

转载 作者:行者123 更新时间:2023-11-29 03:22:42 25 4
gpt4 key购买 nike

模型很简单,我需要从表中删除 2 行,parcelas 表在删除的级联上有外键,assoc 表没有外键

Controller

  if($this->delete_model->delete_parcela_model($this->input->post('id_parcela_delete'),$this->input->post('id_loteo_delete'),$this->input->post('id_user_delete')))
{
echo 'deleted';
exit(1);

}
else
{
echo 'error';
exit(1);

}

模型中的函数调用是

function delete_parcela_model($id_parcela,$id_pago,$id_user)
{

$this->db->trans_begin();
$this->db->query('delete from parcela where id_parcela = "'.$id_parcela.'" and id_dueno = "'.$id_user.'"');
$this->db->query('delete from es_dueno_assoc where tipo_dueno_id = "'.$id_parcela.'" and user_id = "'.$id_user.'"');


if ($this->db->trans_status() === FALSE)
{
// generate an error... or use the log_message() function to log your error
$this->db->trans_rollback();
return false;
}
else
{
$this->db->trans_commit();
return true;

}

始终返回 true 但事务未提交....

最佳答案

我不确定为什么 trans_status() 没有返回,但我会像这样使用 Codeigniter 数据库助手中的内置助手,我们可以尝试进行故障排除:

$this->db->delete($this->tables['parcela'], array("id_parcela" => $id_parcela, "id_dueno" => $id_user));

然后你可以通过添加一些日志记录来测试它,这样你就可以看到 $this->db->affected_rows() 正在输出什么:

var_dump($this->db->affected_rows());
var_dump($this->db->affected_rows() === FALSE);
die();

然后您可以尝试获取正确的值。还要检查 this翻出更多详细信息。

关于php - mysql 事务未提交 Codeigniter 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41247655/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com