4

这是我的代码

$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 它与提交语句有关,我的意思是我的自动提交是错误的吗?对于其他一些使用事务的查询将它会影响我上面的更新查询吗?请帮忙

4

2 回答 2

1

实际上问题是我的生产团队中的某个人只是放了一个$objDb->beginTransaction() 但没有提交使用$objDb->commit(),这导致mysql数据库自动提交为false(bcoz开始的事务语句将自动提交设置为false)因此所有其他查询都不起作用,因为提交没有发生.

于 2013-01-08T13:31:01.380 回答
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'] );
于 2012-12-29T05:19:54.113 回答