Number of affected rows Zend DB (UPDATE)

时光总嘲笑我的痴心妄想 提交于 2019-12-18 06:13:21

问题


I'm new to Zend Framework and I'd like to know how I can get the number of affected rows from this:

$sql = "UPDATE auth SET act='', status='1' WHERE username = ? AND act = ? ";
$stmt = $this->dbh->prepare($sql);
$stmt->execute(array($this->username, $this->key));

I saw a few posts on this forum, but they we based on MySQLi and SELECT statements where you can actually count the rows using count().

Can anyone suggest how I can alter this to support rowCount.

This is how I connect to my database:

$parameters = array(
    'host' => 'localhost',
    'username' => 'root',
    'password' => '',
    'dbname' => 'users'
);

try {
        $db = Zend_Db::factory('Pdo_Mysql', $parameters);
...

This is in my Bootstrap.php. I did it this way because I work with more than one databases.


回答1:


Zend_Db_Statement_Pdo has a rowCount() method.

See the API docs

Returns the number of rows affected by the execution of the last INSERT, DELETE, or UPDATE statement executed by this statement object.

This means you can simply:-

$rowsAffected = $stmt->rowCount();

Straight after calling execute() and you should get the number of rows affected.



来源:https://stackoverflow.com/questions/9132162/number-of-affected-rows-zend-db-update

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!