Количество затронутых строк Zend DB (ОБНОВЛЕНИЕ) - PullRequest
5 голосов
/ 03 февраля 2012

Я новичок в 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.Я сделал это таким образом, потому что я работаю с более чем одной базой данных.

1 Ответ

7 голосов
/ 03 февраля 2012

Zend_Db_Statement_Pdo имеет метод rowCount ().

См. API документы

Возвращает количество строк, затронутых выполнением последнего оператора INSERT, DELETE или UPDATE, выполненного этим объектом оператора.

Это означает, что вы можете просто: -

$rowsAffected = $stmt->rowCount();

Сразу после вызова execute () вы получите количество затронутых строк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...