zend update语句,不更新数据库行

时间:2012-12-29 04:22:40

标签: php mysql zend-framework

这是我的代码

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

2 个答案:

答案 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'] );