Yii框架:如何获取num_行?

Yii框架:如何获取num_行?,yii,Yii,由于没有说明如何使用系统简单地执行“num_rows”,因此我需要一些帮助:如何获取结果集中的行数?假设: $connection=Yii::app()->db; $command=$connection->createCommand($sql); 这将适用于插入、更新和删除: $rowCount=$command->execute(); execute():执行非查询SQL语句,例如INSERT、UPDATE和DELETE。如果成功,则返回受执行影响的行数 对于selec

由于没有说明如何使用系统简单地执行“num_rows”,因此我需要一些帮助:如何获取结果集中的行数?

假设:

$connection=Yii::app()->db;
$command=$connection->createCommand($sql);
这将适用于插入、更新和删除:

$rowCount=$command->execute();
execute():执行非查询SQL语句,例如INSERT、UPDATE和DELETE。如果成功,则返回受执行影响的行数

对于select,您可以执行以下操作:

$dataReader=$command->query();
这将生成CDbDataReader实例,CDbDataReader提供一个rowCount属性

About rowCount=>返回结果集中的行数。注意,大多数DBMS可能不会给出有意义的计数。在这种情况下,使用“SelectCount(*)fromTableName”获取行数。

ActiveRecord具有可使用的方法

$cntCriteria = new CDbCriteria();
$cntCriteria->condition = "categoryId = :categoryId";
$cntCriteria->params[':categoryId'] = $categoryRow->categoryId;
$articleCount = Article::model()->count($cntCriteria);

还有一种方法可以做到这一点。当我们执行sql查询时,它将仅以数组的形式返回结果。因此,我们可以使用下面的
count()
函数获得行数

$output=User::model()->findAllBySql("select * from user");//User is a model belongs to the user table
$count_val=count($output);//$count_val has the value of number of rows in the output.
$output=User::model()->findAllBySql("select * from user");//User is a model belongs to the user table
$count_val=count($output);//$count_val has the value of number of rows in the output.