我是Zend Framework的新手,我想知道如何从中获取受影响的行数:
$sql = "UPDATE auth SET act='', status='1' WHERE username = ? AND act = ? ";
$stmt = $this->dbh->prepare($sql);
$stmt->execute(array($this->username, $this->key));
我在这个论坛上看到了一些帖子,但是我们基于MySQLi和SELECT语句,您可以使用count()
实际计算行数。
任何人都可以建议我如何改变它以支持rowCount
。
这就是我连接数据库的方式:
$parameters = array(
'host' => 'localhost',
'username' => 'root',
'password' => '',
'dbname' => 'users'
);
try {
$db = Zend_Db::factory('Pdo_Mysql', $parameters);
...
这是我的Bootstrap.php
。我是这样做的,因为我使用多个数据库。
答案 0 :(得分:7)
Zend_Db_Statement_Pdo有一个rowCount()方法。
请参阅API docs
返回执行此语句对象执行的最后一个INSERT,DELETE或UPDATE语句所影响的行数。
这意味着您可以简单地: -
$rowsAffected = $stmt->rowCount();
在调用execute()之后直接调用,你应该得到受影响的行数。