这是我的代码
$id = $this->user->id;
$data['last_cust_code'] = $a_Search['custcode'];
$data['last_paid_filter'] = $a_Search['paid'];
$data['last_unpd_filter'] = $a_Search['unpaid'];
$data['last_group_field'] = $a_Search['grouping'];
$data['last_session_code'] = $a_Search['session'];
$out = $objDb->update('tblusrusers', $data,array("id = ?"=>$id));
分析器输出
UPDATE `tblusrusers` SET `last_cust_code` = ?, `last_paid_filter` = ?, `last_unpd_filter` = ?, `last_group_field` = ?, `last_session_code` = ? WHERE (id = '70')
Array
(
[1] => TESTAAA
[2] => N
[3] => N
[4] => 1
[5] => 19993E
)
当我直接通过mysql客户端更新它正确更新。
重要提示:当我通过查询选择输出时,我能够看到更新,但不是通过phpmyadmin.does它与提交语句有关,我的意思是我的自动提交是假的?对于其他一些查询我使用交易会影响我的上述更新查询吗?请帮忙
答案 0 :(得分:1)
实际上问题是我的制作团队中的某个人只是放了$objDb->beginTransaction()
但是没有使用$objDb->commit()
提交导致mysql数据库自动提交为false(bcoz启动事务语句set autocommit为false)因此所有其他查询在提交后没有工作的情况都没有发生。
答案 1 :(得分:0)
我从未使用过Zend,但我认为你的数据数组应该是
$data = array('last_cust_code' => $a_Search['custcode'],
'last_paid_filter' => $a_Search['paid'],
'last_unpd_filter' => $a_Search['unpaid'],
'last_group_field' => $a_Search['grouping'],
'last_session_code' => $a_Search['session'] );